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
Mikko Rasa [Thu, 27 Dec 2007 17:12:27 +0000 (17:12 +0000)]
Add $Id$ to tag.*
Fix some memory leaks
Compiler shader programs in finish() instead of ~Loader() since it may throw
Blender exporter: Rewrite the smoothing algorithm to handle certain cases correctly
Mikko Rasa [Fri, 2 Nov 2007 19:11:28 +0000 (19:11 +0000)]
Use DevIL for loading images
Rework the texture interface
Add framebuffer objects
Add Loader for ProgramData
Support for multiple rendering passes and levels of detail in Object
Add 3D textures
Mikko Rasa [Fri, 26 Oct 2007 12:58:54 +0000 (12:58 +0000)]
Add Uniform* classes to store uniform data of Programs
Add ProgramData class to manage said data
Remove uniform* functions from Program
Make Shader::compile and Program::link throw on failure
Support binding attributes of Programs in datafiles
Add Object and ObjectInstance classes
Mikko Rasa [Wed, 10 Oct 2007 06:58:39 +0000 (06:58 +0000)]
Make Material::apply const
Allow creating meshes runtime
Add Program::uniform4
Add arithmetic operators for Color
Use glXGetProcAddressARB to hopefully work on olfder glX implementations
Mikko Rasa [Mon, 3 Sep 2007 11:39:58 +0000 (11:39 +0000)]
Move VertexFormat and VertexArrayBuilder to their own files
Create a generix VertexBuilder class for building vertices
Add attribute binding to Program
Add primitive types
Add VertexArray loader
Add Immediate
Mikko Rasa [Tue, 12 Jun 2007 12:06:12 +0000 (12:06 +0000)]
Add vertex arrays and buffers
Add (some) matrix operations
Add transform operations
Texture changes:
- Throw if trying to bind a texture without a target
- Track textures per-unit
- Move the dimension getting functions from the base class to dimensioned textures
Font changes:
- Change descent of glyphs to x and y offsets
- Add wstring versions of get_string_width and draw_string
- Use a vertex array to store glyph vertices
- Add a default size for fonts