Mikko Rasa [Wed, 12 Jan 2011 19:11:50 +0000 (19:11 +0000)]
Bind ProgramData to a Program upon construction
Add uniform overloads to ProgramData for Vector3, Vector4 and Color
Also add overloads that take a uniform name instead of index
Implement the uniform_matrix4 method that has been in the header for ages
Mikko Rasa [Tue, 11 Jan 2011 21:13:42 +0000 (21:13 +0000)]
Add EXT_framebuffer_blit and EXT_framebuffer_multisample
Make Framebuffer attach level 0 of textures by default
Add multisampling support for Pipeline
Separate functions for setting HDR and multisample in Pipeline
Make the hdr parameter to Pipeline constructor optional
Mikko Rasa [Sun, 19 Dec 2010 13:22:54 +0000 (13:22 +0000)]
Improve the ambient occlusion algorithm
Allow changing the depth ratio
Use correct winding for the triangle strip
Set pipeline texture wrapping to CLAMP_TO_EDGE
Mikko Rasa [Sun, 19 Dec 2010 10:06:30 +0000 (10:06 +0000)]
Support different data types in Batch
Select data type automatically based on index values
Add GL_NV_primitive_restart extension
Automatically concatenate batches of same primitive type if possible
Add BufferAlias class for using Buffers with RAII binding
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