Mikko Rasa [Fri, 17 Dec 2010 20:55:26 +0000 (20:55 +0000)]
Restore old buffer binding when setting data
Rename buffer binding functions to be more in line with others
Use a RefPtr to store buffer in VertexArray
Use vertex buffer by default
Track VertexArray dirty state internally
Remove the deprecated vertexbuffer.h
Mikko Rasa [Sun, 5 Dec 2010 18:56:03 +0000 (18:56 +0000)]
Add conversion from Vector4 to Vector3
Add overloads of Matrix transformations with Vector3 parameters
Add multiplication operator between Matrix and Vector4
Mikko Rasa [Sun, 5 Dec 2010 18:53:05 +0000 (18:53 +0000)]
Use a RefPtr to store font texture
Rename default_size to native_size
Use keyword overloading for inline textures
Avoid rendering strings with undefined color
Mikko Rasa [Sat, 9 Oct 2010 06:58:23 +0000 (06:58 +0000)]
Use texture unit numbers instead of slot names in RenderPass
Change the datafile syntax for defining textures
Allow inline textures
Use RefPtr for storing possibly-inline data
Mikko Rasa [Wed, 15 Sep 2010 19:14:55 +0000 (19:14 +0000)]
Rewrite Framebuffer to defer attach/detach operations until bound
Set draw buffer and depth mask automatically according to attachments
Treat system framebuffer as an object as well
Move the clear function inside the Framebuffer class
Use temporary binding in RenderBuffer::storage
Mikko Rasa [Thu, 15 Jul 2010 12:11:59 +0000 (12:11 +0000)]
Add a Texturing class to encapsulate the state of multiple texturing units
Make TexEnv::bind const
Propagate changes to GL when changing the currently bound TexEnv
Restore default TexEnv state on unbind
Take GL version into account in TexUnit::get_n_units
Mikko Rasa [Thu, 15 Jul 2010 11:21:23 +0000 (11:21 +0000)]
Support multiple sets of texture coordinates in VertexArrays
Allow more generic vertex attributes
Fix memory allocation bug when copying VertexFormats
Refactor the internals of VertexBuilder
Add overloads of VertexBuilder functions that take Vector* or Color
Mikko Rasa [Sun, 4 Jul 2010 11:28:36 +0000 (11:28 +0000)]
Get rid of the generic Texture::parameter method
Add distinct methods for setting texture attributes
Don't bind textures for setting attributes, cache the changes instead
Restore previous binding after uploading texture images
Some improvements for choosing texture unit
Mikko Rasa [Wed, 3 Mar 2010 12:39:59 +0000 (12:39 +0000)]
Add object-oriented interfaces for the various tests and blending
Add DepthTest and Blend pointers to PipelinePass
Move the Bind RAII class from misc.h to bindable.h
Mikko Rasa [Fri, 12 Feb 2010 15:50:13 +0000 (15:50 +0000)]
Allow copying of Uniforms and ProgramData
Use typedefs in Scene for shorter code and to avoid collisions with GL::set
Major rework of Object and Technique
Mikko Rasa [Thu, 4 Feb 2010 07:43:30 +0000 (07:43 +0000)]
Add a tool to convert a mesh into C code
Add Batch::get_type() accessor
Make get_stride a member of VertexFormat
Add a #define GLX_GLXEXT_PROTOTYPES to allow compilation against Mesa
Mikko Rasa [Mon, 21 Sep 2009 13:50:58 +0000 (13:50 +0000)]
Add get_width() / get_height() methods to Renderbuffer and Framebuffer
Add some framebuffer-related global functions
Set viewport size when binding a framebuffer and restore it when unbinding
Allow detaching attachments from a Framebuffer
Configurable texture unit number in ShadowMap
Mikko Rasa [Sun, 5 Jul 2009 20:32:00 +0000 (20:32 +0000)]
Add Vector3 and Vector4 classes
Add the rest of Light parameters
Make lighting in PipelinePass const
Reset viewport after each effect
Add load_matrix functions
Mikko Rasa [Sun, 24 May 2009 10:56:35 +0000 (10:56 +0000)]
Generalize VertexBuffer into Buffer with support for other types as well
Support using index buffer for Mesh
Don't autoreset Immediate on end() to make it compatible with MeshBuilder
Add a RAII class for bindings
Make Program::bind const
Mikko Rasa [Wed, 14 Jan 2009 19:19:18 +0000 (19:19 +0000)]
Allow generic vertex attribute 0, since OpenGL 3.0 does not support any fixed-function attributes
Blender exporter: support exporting tangent/binormal vectors for bump mapping
Mikko Rasa [Sat, 10 Jan 2009 10:07:36 +0000 (10:07 +0000)]
Rewrite VertexFormat to support an arbitary amount of components
Add support for generic vertex attributes to VertexFormat and VertexArray
Check for proper extensions in Shader constructor
Blender exporter: Export texture coordinates
Mikko Rasa [Tue, 21 Oct 2008 20:08:53 +0000 (20:08 +0000)]
Blender exporter:
Remove unused code
Support exporting faceless edges as lines
Determine default filename from object name
Store configuration between runs
Mikko Rasa [Sat, 4 Oct 2008 20:26:55 +0000 (20:26 +0000)]
Add class Technique to share passes between Objects
Refactor Object to make use of Technique and also work without one
Make ObjectInstance take a Tag instead of ObjectPass in (prepare|finish)_render
Mikko Rasa [Fri, 5 Sep 2008 22:36:05 +0000 (22:36 +0000)]
Add append() method and and operator[] to VertexArray
Remove modify() methods from VertexArray and Mesh in favor of constructing Builders in stack
Refactor VertexArrayBuilder to not need reference to the array's data vector
Fix PrimitiveBuilder so that creating vertices outside of begin/end works
Mikko Rasa [Wed, 3 Sep 2008 06:40:23 +0000 (06:40 +0000)]
Require mspgbase now that Image was moved there
Discard Renderable::get_order as bad design
Refactor Object to render instances from an iterator range instead of list
Rework Scene to make use of Object's multi-instance rendering
Mikko Rasa [Sun, 17 Aug 2008 22:16:15 +0000 (22:16 +0000)]
Move Image to mspgbase
Do not define GL_GLEXT_PROTOTYPES in blend.cpp since glBlendEquation is to be used through the extension mechanism
Update svn:ignore
Mikko Rasa [Tue, 26 Feb 2008 10:28:32 +0000 (10:28 +0000)]
Add class MeshBuilder
Enable drawing text with a custom PrimitiveBuilder (possibly into a mesh)
Refactor VertexArray and VertexArrayBuilder so that the latter can be created in stack
Use the DataType enum in Texture[23]D
Mikko Rasa [Mon, 4 Feb 2008 12:21:42 +0000 (12:21 +0000)]
Make the use of DevIL optional
Allow speifying storage and raw data in texture files
Add class PrimitiveBuilder
Change Font to build all vertices of a string and then draw them at once
Only require OpenGL 1.3 in TexUnit when actually changing the unit
Add a python script to create .tex files with raw data from images