libs/gl.git
11 years agoBump version to 1.1 1.1
Mikko Rasa [Mon, 5 Oct 2009 18:48:09 +0000 (18:48 +0000)]
Bump version to 1.1
Update Build file for builder 1.0

11 years agoAdd get_width() / get_height() methods to Renderbuffer and Framebuffer
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

11 years agoProperly handle the case where an object doesn't have a main texture but its techniqu...
Mikko Rasa [Mon, 3 Aug 2009 12:25:44 +0000 (12:25 +0000)]
Properly handle the case where an object doesn't have a main texture but its technique does

11 years agoDisable blend and depth test while rendering Bloom
Mikko Rasa [Sun, 26 Jul 2009 19:06:34 +0000 (19:06 +0000)]
Disable blend and depth test while rendering Bloom
Restore original FBO after rendering ShadowMap

11 years agoReset viewport also after pass-specific effects
Mikko Rasa [Tue, 14 Jul 2009 13:53:12 +0000 (13:53 +0000)]
Reset viewport also after pass-specific effects
Use a separate pass name for rendering shadow maps to allow for optimization

11 years agoAdd Vector3 and Vector4 classes
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

11 years agoAdd a size parameter to makefont.py
Mikko Rasa [Sat, 4 Jul 2009 11:32:17 +0000 (11:32 +0000)]
Add a size parameter to makefont.py

11 years agoBlender exporter:
Mikko Rasa [Thu, 28 May 2009 06:18:39 +0000 (06:18 +0000)]
Blender exporter:
- Detect autosmoothing
- Export mesh with modifiers applied

11 years agoGeneralize VertexBuffer into Buffer with support for other types as well
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

11 years agoAdd a Pipeline framework for constructing complex rendering sequences
Mikko Rasa [Tue, 27 Jan 2009 19:38:22 +0000 (19:38 +0000)]
Add a Pipeline framework for constructing complex rendering sequences
Some minor fixes

11 years agoAdd post-processing effect framework
Mikko Rasa [Sun, 25 Jan 2009 10:39:28 +0000 (10:39 +0000)]
Add post-processing effect framework
Add Bloom effect
Allow querying currently bound Framebuffer
Add floating-point PixelFormats

11 years agoFix an index mismatch between setting attribute array pointers and enabling the arrays
Mikko Rasa [Fri, 16 Jan 2009 09:05:12 +0000 (09:05 +0000)]
Fix an index mismatch between setting attribute array pointers and enabling the arrays

11 years agoAllow generic vertex attribute 0, since OpenGL 3.0 does not support any fixed-functio...
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

11 years agoRewrite VertexFormat to support an arbitary amount of components
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

11 years agoMove transform functions to matrix.h
Mikko Rasa [Sun, 2 Nov 2008 21:18:56 +0000 (21:18 +0000)]
Move transform functions to matrix.h
Add RAII version of push_matrix

11 years agoSupport embedding textures inside font files
Mikko Rasa [Sun, 2 Nov 2008 17:46:18 +0000 (17:46 +0000)]
Support embedding textures inside font files
Make maketex.py usable as an import
Add makefont.py to create fonts from TTF files (needs ttf2png)

12 years agoBlender exporter:
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

12 years agoAdd Changelog.txt 1.0
Mikko Rasa [Tue, 14 Oct 2008 19:01:43 +0000 (19:01 +0000)]
Add Changelog.txt
Update description
Bump version

12 years agoAdd class Technique to share passes between Objects
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

12 years agoAdd Texture::bind_to() method
Mikko Rasa [Sat, 4 Oct 2008 19:50:15 +0000 (19:50 +0000)]
Add Texture::bind_to() method
Check if texture is already bound in bind()

12 years agoConvert Light to object model
Mikko Rasa [Sun, 28 Sep 2008 15:40:26 +0000 (15:40 +0000)]
Convert Light to object model
Add class Lighting to encapsulate lighting state as a whole

12 years agoAdd virtual destructors to Renderable and Uniform
Mikko Rasa [Wed, 24 Sep 2008 16:17:29 +0000 (16:17 +0000)]
Add virtual destructors to Renderable and Uniform
Convert C-style casts to C++-style

12 years agoObject model for Material and TexEnv
Mikko Rasa [Wed, 24 Sep 2008 16:10:43 +0000 (16:10 +0000)]
Object model for Material and TexEnv

12 years agoUse RAII checks for extensions and versions
Mikko Rasa [Mon, 8 Sep 2008 19:39:39 +0000 (19:39 +0000)]
Use RAII checks for extensions and versions
Add functions for drawing vertex array elements

12 years agoAdd append() method and and operator[] to VertexArray
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

12 years agoRequire mspgbase now that Image was moved there
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

12 years agoSet svn:keywords on Build 0.9
Mikko Rasa [Tue, 19 Aug 2008 16:47:41 +0000 (16:47 +0000)]
Set svn:keywords on Build
Bump version for release
Add License.txt

12 years agoMove Image to mspgbase
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

12 years agoUnbind vertex buffer after updating array data
Mikko Rasa [Wed, 23 Jul 2008 01:39:40 +0000 (01:39 +0000)]
Unbind vertex buffer after updating array data
Use glBlendEquation through extension mechanism

12 years agoAdd the BLEND constant too
Mikko Rasa [Sat, 19 Jul 2008 11:24:42 +0000 (11:24 +0000)]
Add the BLEND constant too

12 years agoAdd blending and clipping support
Mikko Rasa [Sat, 19 Jul 2008 11:19:01 +0000 (11:19 +0000)]
Add blending and clipping support
Add name stack management functions

12 years agoAdd a missing #include
Mikko Rasa [Wed, 25 Jun 2008 09:21:13 +0000 (09:21 +0000)]
Add a missing #include
Fix gcc 4.3 style warnings

12 years agoAdd Mesh::use_vertex_buffer
Mikko Rasa [Mon, 19 May 2008 14:42:17 +0000 (14:42 +0000)]
Add Mesh::use_vertex_buffer
Change VertexArray::use_vertex_buffer semantics to allow disabling vertex buffer
Initialize ObjectPass:use_textures in constructor

12 years agoSupport specifying elements in PrimitiveBuilder
Mikko Rasa [Mon, 24 Mar 2008 00:10:57 +0000 (00:10 +0000)]
Support specifying elements in PrimitiveBuilder
Add use_textures flag to ObjectPass
Add type indicator to uniform* statements of ProgramData

12 years agoOpenGL can now be required as a package on all archs
Mikko Rasa [Wed, 19 Mar 2008 12:00:25 +0000 (12:00 +0000)]
OpenGL can now be required as a package on all archs

12 years agoSeparate main and shader textures in Object
Mikko Rasa [Thu, 6 Mar 2008 10:59:35 +0000 (10:59 +0000)]
Separate main and shader textures in Object

12 years agoAllow Renderables in a Scene to specify ordering
Mikko Rasa [Wed, 27 Feb 2008 14:09:02 +0000 (14:09 +0000)]
Allow Renderables in a Scene to specify ordering

12 years agoAdd the meshbuilder.* files too
Mikko Rasa [Tue, 26 Feb 2008 10:29:52 +0000 (10:29 +0000)]
Add the meshbuilder.* files too

12 years agoAdd class MeshBuilder
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

12 years agoInclude the local gl.h in types.h to make it work on win32
Mikko Rasa [Wed, 6 Feb 2008 10:43:42 +0000 (10:43 +0000)]
Include the local gl.h in types.h to make it work on win32

12 years agoAdd a missing negation
Mikko Rasa [Tue, 5 Feb 2008 12:16:25 +0000 (12:16 +0000)]
Add a missing negation

12 years agoMake the use of DevIL optional
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

12 years agoSupport embedding textures in datafiles
Mikko Rasa [Sat, 12 Jan 2008 12:10:52 +0000 (12:10 +0000)]
Support embedding textures in datafiles

12 years agoAdd functions to retrieve material properties
Mikko Rasa [Tue, 1 Jan 2008 21:39:13 +0000 (21:39 +0000)]
Add functions to retrieve material properties

12 years agoWindows compatibility:
Mikko Rasa [Sat, 29 Dec 2007 20:47:08 +0000 (20:47 +0000)]
Windows compatibility:
- Tweak includes
- Fetch all functions from OpenGL 1.2+ with get_proc_address

12 years agoAdd $Id$ to tag.*
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

12 years agoDefault to Utf8 instead of direct mapping in Font
Mikko Rasa [Tue, 11 Dec 2007 11:30:48 +0000 (11:30 +0000)]
Default to Utf8 instead of direct mapping in Font

12 years agoSupport for loading materials from datafiles
Mikko Rasa [Fri, 9 Nov 2007 17:13:31 +0000 (17:13 +0000)]
Support for loading materials from datafiles

12 years agoAdd a Tag class to identify passes
Mikko Rasa [Sun, 4 Nov 2007 22:11:27 +0000 (22:11 +0000)]
Add a Tag class to identify passes
Refactor the Renderable and Object interfaces a bit

12 years agoAdd class Renderable
Mikko Rasa [Sun, 4 Nov 2007 18:05:19 +0000 (18:05 +0000)]
Add class Renderable
Inherit Object and ObjectInstance from Renderable
Add class Scene
Include GL/gl.h in renderable.h

12 years agoAdapt to DataFile changes
Mikko Rasa [Fri, 2 Nov 2007 20:22:15 +0000 (20:22 +0000)]
Adapt to DataFile changes

12 years agoUse DevIL for loading images
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

12 years agoAdd Uniform* classes to store uniform data of Programs
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

13 years agoBlender exporter:
Mikko Rasa [Sun, 21 Oct 2007 18:07:02 +0000 (18:07 +0000)]
Blender exporter:
Fix big strip generation
Improve locality optimizer
Add user interface for specifying flags

13 years agoAdd scissor, stencil, alpha and depth test functions and constants
Mikko Rasa [Sat, 20 Oct 2007 10:50:51 +0000 (10:50 +0000)]
Add scissor, stencil, alpha and depth test functions and constants

13 years agoBugfixes to Light
Mikko Rasa [Wed, 17 Oct 2007 14:58:32 +0000 (14:58 +0000)]
Bugfixes to Light

13 years agoAdd Lights
Mikko Rasa [Wed, 17 Oct 2007 13:53:28 +0000 (13:53 +0000)]
Add Lights

13 years agoBlender exporter: Fix big strip generation so that winding is retained
Mikko Rasa [Wed, 17 Oct 2007 11:47:16 +0000 (11:47 +0000)]
Blender exporter: Fix big strip generation so that winding is retained

13 years agoAllow retrieving data from Mesh
Mikko Rasa [Wed, 17 Oct 2007 06:22:28 +0000 (06:22 +0000)]
Allow retrieving data from Mesh
Make use of DataFile::Collection in loading Font

13 years agoTry to generate longer strips
Mikko Rasa [Sun, 14 Oct 2007 18:32:42 +0000 (18:32 +0000)]
Try to generate longer strips
Fix a bug with strips starting with a triangle
Add some more debug output
Optimize vertex order

13 years agoBlender exporter: Add support for texture coordinates
Mikko Rasa [Fri, 12 Oct 2007 09:18:12 +0000 (09:18 +0000)]
Blender exporter: Add support for texture coordinates

13 years agoBlender exporter: Generate correct normals for smooth vertices
Mikko Rasa [Thu, 11 Oct 2007 15:10:17 +0000 (15:10 +0000)]
Blender exporter: Generate correct normals for smooth vertices

13 years agoMake Material::apply const
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

13 years agoAdd support for detecting extensions
Mikko Rasa [Fri, 5 Oct 2007 06:01:20 +0000 (06:01 +0000)]
Add support for detecting extensions
Implement shaders through extensions to support lower OpenGL versions
Rename error.h to except.h

13 years agoAdd Material class
Mikko Rasa [Tue, 2 Oct 2007 15:25:55 +0000 (15:25 +0000)]
Add Material class

13 years agoAdd mult_matrix functions
Mikko Rasa [Mon, 1 Oct 2007 10:45:30 +0000 (10:45 +0000)]
Add mult_matrix functions
Finish shader classes
Blender exporter: Fix triangle strip generation

13 years agoAdd projection functions
Mikko Rasa [Sat, 22 Sep 2007 17:01:48 +0000 (17:01 +0000)]
Add projection functions
Add enable/disable
Blender exporter: Fix a deprecation warning

13 years agoBlender exporter: Finish triangle strip support
Mikko Rasa [Wed, 5 Sep 2007 05:50:15 +0000 (05:50 +0000)]
Blender exporter: Finish triangle strip support

13 years agoBlender export: Create triangle strips (incomplete)
Mikko Rasa [Tue, 4 Sep 2007 14:16:17 +0000 (14:16 +0000)]
Blender export: Create triangle strips (incomplete)

13 years agoAdd Mesh and Batch classes
Mikko Rasa [Tue, 4 Sep 2007 09:59:14 +0000 (09:59 +0000)]
Add Mesh and Batch classes
Implement VertexBuffer::unbind correctly
Fix VertexFormat parsing
Add input conversion for PrimitiveType

13 years agoBlender export: Add support for smoothing
Mikko Rasa [Tue, 4 Sep 2007 09:06:55 +0000 (09:06 +0000)]
Blender export: Add support for smoothing

13 years agoAdd script for exporting meshes from Blender
Mikko Rasa [Mon, 3 Sep 2007 14:26:50 +0000 (14:26 +0000)]
Add script for exporting meshes from Blender

13 years agoMove VertexFormat and VertexArrayBuilder to their own files
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

13 years agoUpdate dependency for mspparser to mspdatafile
Mikko Rasa [Mon, 3 Sep 2007 10:34:52 +0000 (10:34 +0000)]
Update dependency for mspparser to mspdatafile

13 years agoAdd Id tags and copyright notices to files
Mikko Rasa [Mon, 3 Sep 2007 10:33:27 +0000 (10:33 +0000)]
Add Id tags and copyright notices to files

13 years agoMake use of the ability to load multiple arguments diretly into member variables
Mikko Rasa [Mon, 3 Sep 2007 08:57:55 +0000 (08:57 +0000)]
Make use of the ability to load multiple arguments diretly into member variables

13 years agoMake ~Program virtual
Mikko Rasa [Tue, 21 Aug 2007 15:00:20 +0000 (15:00 +0000)]
Make ~Program virtual
Rename Parser -> DataFile
Utilize string codecs in Font

13 years agoAdd shaders
Mikko Rasa [Tue, 21 Aug 2007 13:51:07 +0000 (13:51 +0000)]
Add shaders

13 years agoAdd ascent and descent to Font
Mikko Rasa [Tue, 10 Jul 2007 19:21:01 +0000 (19:21 +0000)]
Add ascent and descent to Font

13 years agoAdd vertex arrays and buffers
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

13 years agoAdd files
Mikko Rasa [Mon, 27 Nov 2006 23:59:37 +0000 (23:59 +0000)]
Add files

13 years agoCreate trunk
Mikko Rasa [Mon, 27 Nov 2006 17:21:01 +0000 (17:21 +0000)]
Create trunk