]> git.tdb.fi Git - libs/gl.git/log
libs/gl.git
11 years agoRestructure ProgramData to support sharing between Programs
Mikko Rasa [Wed, 15 Aug 2012 19:36:33 +0000 (22:36 +0300)]
Restructure ProgramData to support sharing between Programs

This removes a major annoyance when dealing with ObjectInstances and
shaders.  It also paves way for Effects being able to provide uniforms,
and support for GL_ARB_uniform_buffer_object.

11 years agoGenerate a hash describing the layout of uniforms in a Program
Mikko Rasa [Wed, 15 Aug 2012 19:32:28 +0000 (22:32 +0300)]
Generate a hash describing the layout of uniforms in a Program

This allows easy recognition of whether two Programs have compatible
uniform layouts and could use shared data.

11 years agoAdd a function to query if a Technique has any shaders
Mikko Rasa [Wed, 15 Aug 2012 19:31:03 +0000 (22:31 +0300)]
Add a function to query if a Technique has any shaders

Also make PassMap public since it's exposed through get_passes

11 years agoFor a few lingering whitespace issues
Mikko Rasa [Wed, 15 Aug 2012 19:18:09 +0000 (22:18 +0300)]
For a few lingering whitespace issues

The scripts had been ignored entirely in the previous conversion.  As a
result, a few newly generated extensions didn't have proper whitespace.
Pure virtual functions in headers had also slipped through.

11 years agoMake the cubemap demo more interesting
Mikko Rasa [Mon, 13 Aug 2012 21:26:40 +0000 (00:26 +0300)]
Make the cubemap demo more interesting

It now displays two different shapes, which have reflections through an
environment map.  The same environment map is used to render a skybox.

Also uses the new direction lookup functions to create the contents for
the cube map texture.

11 years agoTangent and binormal vectors should use custom transform as well
Mikko Rasa [Mon, 13 Aug 2012 21:26:21 +0000 (00:26 +0300)]
Tangent and binormal vectors should use custom transform as well

11 years agoAdd a standard program feature for environment-mapped reflections
Mikko Rasa [Mon, 13 Aug 2012 21:21:05 +0000 (00:21 +0300)]
Add a standard program feature for environment-mapped reflections

11 years agoLookup functions to determine the orientation of cube map faces
Mikko Rasa [Mon, 13 Aug 2012 17:47:53 +0000 (20:47 +0300)]
Lookup functions to determine the orientation of cube map faces

The orientations are somewhat arbitary and not deducible with a simple
algorithm.  Writing the necessary conditional ladders everywhere would
be annoying.

11 years agoFix several bugs in the animation system
Mikko Rasa [Mon, 13 Aug 2012 12:25:54 +0000 (15:25 +0300)]
Fix several bugs in the animation system

Make the identity fallback matrix static so the pointers in interpolations
stay valid.

Don't crash when getting pose matrices from the first keyframe.

Matrix multiplication order for base point shift compensation was wrong.

Re-compensate for base point shift after interpolation.

Use correct comparison operator for max_index in AnimationPlayer.

Pass collection to keyframe loader to make loading poses possible.

Use Pose::set_armature rather than loading the pointer directly to get the
matrix array resized.

11 years agoSupport for exporting armatures and vertex groups
Mikko Rasa [Mon, 13 Aug 2012 10:18:43 +0000 (13:18 +0300)]
Support for exporting armatures and vertex groups

11 years agoRestructure the exporter to make room for new stuff
Mikko Rasa [Sun, 12 Aug 2012 16:06:29 +0000 (19:06 +0300)]
Restructure the exporter to make room for new stuff

11 years agoFix bugs that crept in with refactoring
Mikko Rasa [Sun, 12 Aug 2012 15:53:52 +0000 (18:53 +0300)]
Fix bugs that crept in with refactoring

Also add an additional safeguard against an infinite loop

11 years agoSupport for armature-based animation
Mikko Rasa [Sun, 12 Aug 2012 09:21:05 +0000 (12:21 +0300)]
Support for armature-based animation

11 years agoAllow setting keyframe matrix from the outside
Mikko Rasa [Sun, 12 Aug 2012 09:13:17 +0000 (12:13 +0300)]
Allow setting keyframe matrix from the outside

11 years agoFix uniform array element lookup
Mikko Rasa [Sun, 12 Aug 2012 09:07:38 +0000 (12:07 +0300)]
Fix uniform array element lookup

11 years agoAdd classes for armature-based deformation
Mikko Rasa [Sun, 12 Aug 2012 08:25:55 +0000 (11:25 +0300)]
Add classes for armature-based deformation

For now, link rotations in a pose must be specified in hierarchial order,
or the matrices will be wrong.

11 years agoExpose the build(Mesh &) shortcut in classes derived from GeometryBuilder
Mikko Rasa [Sat, 11 Aug 2012 18:43:18 +0000 (21:43 +0300)]
Expose the build(Mesh &) shortcut in classes derived from GeometryBuilder

11 years agoAdd missing set_looping implementation
Mikko Rasa [Sat, 11 Aug 2012 18:29:41 +0000 (21:29 +0300)]
Add missing set_looping implementation

11 years agoRestructure Animation to make matrix interpolation code more reusable
Mikko Rasa [Sat, 11 Aug 2012 18:28:15 +0000 (21:28 +0300)]
Restructure Animation to make matrix interpolation code more reusable

11 years agoDon't link program with the transform feature in constructor
Mikko Rasa [Sat, 11 Aug 2012 13:38:35 +0000 (16:38 +0300)]
Don't link program with the transform feature in constructor

The transform feature produces calls to external functions, which need to
be added in a separate shader.  Trying to link in the constructor only
produces link errors.

11 years agoBetter way to deal with program-owned shaders
Mikko Rasa [Sat, 11 Aug 2012 13:36:30 +0000 (16:36 +0300)]
Better way to deal with program-owned shaders

Track which shaders exactly are owned by the program rather than having
just a single flag.  This prevents double-free problems if a program
contains both owned and non-owned shaders, as might be the case with the
transform feature.

11 years agoAn extra sanity check for TBN export
Mikko Rasa [Thu, 9 Aug 2012 20:22:35 +0000 (23:22 +0300)]
An extra sanity check for TBN export

11 years agoRefactor strip generation code and add comments
Mikko Rasa [Thu, 9 Aug 2012 20:21:45 +0000 (23:21 +0300)]
Refactor strip generation code and add comments

11 years agoUpdate .gitignore
Mikko Rasa [Thu, 9 Aug 2012 19:36:03 +0000 (22:36 +0300)]
Update .gitignore

11 years agoA simple program to test cubemap texture functionality
Mikko Rasa [Thu, 9 Aug 2012 19:35:39 +0000 (22:35 +0300)]
A simple program to test cubemap texture functionality

11 years agoMove some member functions to more logical positions
Mikko Rasa [Thu, 9 Aug 2012 19:34:23 +0000 (22:34 +0300)]
Move some member functions to more logical positions

11 years agoComment updates for texture and framebuffer classes.
Mikko Rasa [Thu, 9 Aug 2012 19:32:47 +0000 (22:32 +0300)]
Comment updates for texture and framebuffer classes.

11 years agoFix 3D texture loading with fixed depth
Mikko Rasa [Thu, 9 Aug 2012 19:16:30 +0000 (22:16 +0300)]
Fix 3D texture loading with fixed depth

11 years agoAdd support for cube map textures
Mikko Rasa [Thu, 9 Aug 2012 18:07:43 +0000 (21:07 +0300)]
Add support for cube map textures

11 years agoMipmap generation requires GL_SGIS_generate_mipmap
Mikko Rasa [Thu, 9 Aug 2012 07:21:08 +0000 (10:21 +0300)]
Mipmap generation requires GL_SGIS_generate_mipmap

11 years agoUpdate Build file for new Builder features
Mikko Rasa [Sun, 5 Aug 2012 18:43:37 +0000 (21:43 +0300)]
Update Build file for new Builder features

11 years agoAdd support for viewing animations
Mikko Rasa [Sun, 5 Aug 2012 12:53:41 +0000 (15:53 +0300)]
Add support for viewing animations

11 years agoBasic animation support
Mikko Rasa [Sun, 5 Aug 2012 12:26:23 +0000 (15:26 +0300)]
Basic animation support

11 years agoUse a custom drawing function to group the properties in a sensible way
Mikko Rasa [Tue, 31 Jul 2012 23:35:29 +0000 (02:35 +0300)]
Use a custom drawing function to group the properties in a sensible way

11 years agoSupport exporting textures with objects
Mikko Rasa [Tue, 31 Jul 2012 23:07:55 +0000 (02:07 +0300)]
Support exporting textures with objects

11 years agoImprove texture unit handling
Mikko Rasa [Tue, 31 Jul 2012 22:49:59 +0000 (01:49 +0300)]
Improve texture unit handling

11 years agoMore compilation fixes
Mikko Rasa [Tue, 31 Jul 2012 22:36:23 +0000 (01:36 +0300)]
More compilation fixes

11 years agoDon't try to export a material texture if the mesh has no materials
Mikko Rasa [Tue, 31 Jul 2012 21:03:27 +0000 (00:03 +0300)]
Don't try to export a material texture if the mesh has no materials

11 years agoSplit mesh and object export into separate operators
Mikko Rasa [Tue, 31 Jul 2012 21:03:03 +0000 (00:03 +0300)]
Split mesh and object export into separate operators

11 years agoFix exporting compound objects with no materials
Mikko Rasa [Tue, 31 Jul 2012 19:34:04 +0000 (22:34 +0300)]
Fix exporting compound objects with no materials

11 years agoAdapt exporter to Blender 2.63
Mikko Rasa [Thu, 26 Jul 2012 20:46:11 +0000 (23:46 +0300)]
Adapt exporter to Blender 2.63

11 years agoFix compiler warnings
Mikko Rasa [Wed, 25 Jul 2012 19:48:44 +0000 (22:48 +0300)]
Fix compiler warnings

12 years agoAdjust material export and material-based texcoord generation for Blender 2.6
Mikko Rasa [Sun, 19 Feb 2012 13:57:27 +0000 (15:57 +0200)]
Adjust material export and material-based texcoord generation for Blender 2.6

12 years agoRename a variable in shader code to avoid conflict with a keyword
Mikko Rasa [Tue, 7 Feb 2012 17:45:09 +0000 (17:45 +0000)]
Rename a variable in shader code to avoid conflict with a keyword

12 years agoUse proper cast
Mikko Rasa [Tue, 7 Feb 2012 17:44:41 +0000 (17:44 +0000)]
Use proper cast

12 years agoCompatibility with Blender 2.6
Mikko Rasa [Tue, 7 Feb 2012 17:44:02 +0000 (17:44 +0000)]
Compatibility with Blender 2.6

12 years agoAdd a standard program feature for custom transforms
Mikko Rasa [Fri, 20 Jan 2012 20:29:11 +0000 (22:29 +0200)]
Add a standard program feature for custom transforms

12 years agoMove tools to their own directory as well
Mikko Rasa [Wed, 7 Sep 2011 19:51:40 +0000 (22:51 +0300)]
Move tools to their own directory as well

12 years agoAdd two demo programs (with crappy code)
Mikko Rasa [Wed, 7 Sep 2011 16:23:03 +0000 (19:23 +0300)]
Add two demo programs (with crappy code)

12 years agoFix an incorrect #include
Mikko Rasa [Wed, 7 Sep 2011 16:17:49 +0000 (19:17 +0300)]
Fix an incorrect #include

12 years agoUpdate viewer for compatibility with library changes
Mikko Rasa [Tue, 6 Sep 2011 20:58:13 +0000 (23:58 +0300)]
Update viewer for compatibility with library changes

12 years agoUse the lexical_cast framework instead of istreams
Mikko Rasa [Tue, 6 Sep 2011 20:55:35 +0000 (23:55 +0300)]
Use the lexical_cast framework instead of istreams

12 years agomspdatafile APIs have changed slightly
Mikko Rasa [Tue, 6 Sep 2011 20:49:10 +0000 (23:49 +0300)]
mspdatafile APIs have changed slightly

12 years agoRework exceptions
Mikko Rasa [Tue, 6 Sep 2011 20:46:52 +0000 (23:46 +0300)]
Rework exceptions

12 years agoUse maputils functions
Mikko Rasa [Tue, 6 Sep 2011 20:37:38 +0000 (23:37 +0300)]
Use maputils functions

12 years agoNamespace Codecs was renamed to StringCodec
Mikko Rasa [Tue, 6 Sep 2011 20:35:04 +0000 (23:35 +0300)]
Namespace Codecs was renamed to StringCodec

12 years agoUpdate header names
Mikko Rasa [Tue, 6 Sep 2011 19:21:11 +0000 (22:21 +0300)]
Update header names

12 years agoMove scripts to their own directory
Mikko Rasa [Tue, 6 Sep 2011 18:20:52 +0000 (21:20 +0300)]
Move scripts to their own directory

12 years agoRemove the Blender 2.4 exporter now that 2.5 is stable
Mikko Rasa [Tue, 6 Sep 2011 18:20:18 +0000 (21:20 +0300)]
Remove the Blender 2.4 exporter now that 2.5 is stable

12 years agoDrop Id tags and copyright notices from files
Mikko Rasa [Tue, 6 Sep 2011 18:19:14 +0000 (21:19 +0300)]
Drop Id tags and copyright notices from files

12 years agoConvert svn:ignore to .gitignore
Mikko Rasa [Tue, 24 May 2011 06:02:53 +0000 (09:02 +0300)]
Convert svn:ignore to .gitignore

12 years agoStore uniform information inside Program to reduce glGetUniformLocation calls
Mikko Rasa [Tue, 10 May 2011 07:37:55 +0000 (07:37 +0000)]
Store uniform information inside Program to reduce glGetUniformLocation calls

12 years agoDrop Shader::get_param and Program::get_param
Mikko Rasa [Tue, 10 May 2011 07:34:16 +0000 (07:34 +0000)]
Drop Shader::get_param and Program::get_param
Rename Shader::get_compiled and Program::get_linked to is_*
Use correct _ARB constants

12 years agoDrop the global *_test constants and related functions
Mikko Rasa [Wed, 4 May 2011 13:32:16 +0000 (13:32 +0000)]
Drop the global *_test constants and related functions

13 years agoMake the compiler shut up about a signed/unsigned mismatch
Mikko Rasa [Wed, 27 Apr 2011 11:02:11 +0000 (11:02 +0000)]
Make the compiler shut up about a signed/unsigned mismatch

13 years agoRemove the LIGHTING enum
Mikko Rasa [Wed, 27 Apr 2011 11:01:47 +0000 (11:01 +0000)]
Remove the LIGHTING enum
Add Light::unbind_from function

13 years agoSystem for generating standard shaders based on flags
Mikko Rasa [Wed, 20 Apr 2011 12:42:49 +0000 (12:42 +0000)]
System for generating standard shaders based on flags

13 years agoSupport loading texture wrap parameters
Mikko Rasa [Sat, 9 Apr 2011 10:42:57 +0000 (10:42 +0000)]
Support loading texture wrap parameters
Mark font textures as CLAMP_TO_EDGE

13 years agoAdd an element offset to PrimitiveBuilder
Mikko Rasa [Fri, 8 Apr 2011 22:56:45 +0000 (22:56 +0000)]
Add an element offset to PrimitiveBuilder

13 years agoAdapt to changes in bpy API
Mikko Rasa [Thu, 7 Apr 2011 14:28:04 +0000 (14:28 +0000)]
Adapt to changes in bpy API

13 years agoAdd methods to get Framebuffer size
Mikko Rasa [Mon, 4 Apr 2011 16:45:47 +0000 (16:45 +0000)]
Add methods to get Framebuffer size

13 years agoAdd a method to get the mesh of an Object
Mikko Rasa [Mon, 4 Apr 2011 16:45:35 +0000 (16:45 +0000)]
Add a method to get the mesh of an Object

13 years agoAdd a method to get the offset of a single component of a VertexFormat
Mikko Rasa [Mon, 4 Apr 2011 16:44:40 +0000 (16:44 +0000)]
Add a method to get the offset of a single component of a VertexFormat

13 years agoRemove rendermode and selection support due to lack of decent hardware support
Mikko Rasa [Tue, 15 Mar 2011 07:46:15 +0000 (07:46 +0000)]
Remove rendermode and selection support due to lack of decent hardware support

13 years agoSupport exporting separate arrays in mesh2c (as opposed to interleaved)
Mikko Rasa [Tue, 15 Mar 2011 06:47:41 +0000 (06:47 +0000)]
Support exporting separate arrays in mesh2c (as opposed to interleaved)

13 years agoFix texunit processing order to avoid artifacts in tbn vectors
Mikko Rasa [Sun, 6 Mar 2011 01:02:52 +0000 (01:02 +0000)]
Fix texunit processing order to avoid artifacts in tbn vectors

13 years agoRename CUT to CROP in GeometryBuilder
Mikko Rasa [Sun, 6 Mar 2011 01:01:00 +0000 (01:01 +0000)]
Rename CUT to CROP in GeometryBuilder
Fix capsule texture coordinates
Use adjust_texture_scale in capsule and box builders

13 years agoImprove smoothing in blender exporter
Mikko Rasa [Thu, 3 Feb 2011 21:23:12 +0000 (21:23 +0000)]
Improve smoothing in blender exporter
Support exporting multiple sets of texture coordinates

13 years agoSupport multiple sets of texture coordinates in datafiles
Mikko Rasa [Thu, 3 Feb 2011 21:21:29 +0000 (21:21 +0000)]
Support multiple sets of texture coordinates in datafiles

13 years agoFix capsule end vertex coordinates
Mikko Rasa [Thu, 3 Feb 2011 21:20:43 +0000 (21:20 +0000)]
Fix capsule end vertex coordinates

13 years agoAdd a Blender 2.5 port of the exporter
Mikko Rasa [Sun, 30 Jan 2011 09:45:13 +0000 (09:45 +0000)]
Add a Blender 2.5 port of the exporter

13 years agoAdjust depth clip according to camera distance
Mikko Rasa [Sun, 30 Jan 2011 09:44:36 +0000 (09:44 +0000)]
Adjust depth clip according to camera distance

13 years agoAdd capsule and grid builders
Mikko Rasa [Wed, 26 Jan 2011 18:09:37 +0000 (18:09 +0000)]
Add capsule and grid builders
Fix some bugs in the other geometry builders

13 years agoAdd classes for building some geometric shapes
Mikko Rasa [Wed, 26 Jan 2011 15:23:26 +0000 (15:23 +0000)]
Add classes for building some geometric shapes

13 years ago#include tag.h instead of forward declaring
Mikko Rasa [Tue, 25 Jan 2011 08:59:05 +0000 (08:59 +0000)]
#include tag.h instead of forward declaring

13 years agoReintroduce named texture slots for Technique inheritance
Mikko Rasa [Mon, 17 Jan 2011 17:43:10 +0000 (17:43 +0000)]
Reintroduce named texture slots for Technique inheritance

13 years agoMove winding test to Renderer::State
Mikko Rasa [Sat, 15 Jan 2011 18:13:41 +0000 (18:13 +0000)]
Move winding test to Renderer::State
Clear winding test after rendering a Mesh

13 years agoAdd WindingTest and support for it in Mesh and Renderer
Mikko Rasa [Fri, 14 Jan 2011 13:00:05 +0000 (13:00 +0000)]
Add WindingTest and support for it in Mesh and Renderer

13 years agoGeneralize instancing to all Renderables
Mikko Rasa [Wed, 12 Jan 2011 19:54:13 +0000 (19:54 +0000)]
Generalize instancing to all Renderables

13 years agoBind ProgramData to a Program upon construction
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

13 years agoRemove the non-const operator[] from VertexArray to make it clearer when modification...
Mikko Rasa [Wed, 12 Jan 2011 19:08:09 +0000 (19:08 +0000)]
Remove the non-const operator[] from VertexArray to make it clearer when modifications are made

13 years agoAdd EXT_framebuffer_blit and EXT_framebuffer_multisample
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

13 years agoBetter tracking of Renderer matrix changes
Mikko Rasa [Tue, 11 Jan 2011 20:03:37 +0000 (20:03 +0000)]
Better tracking of Renderer matrix changes
Make MatrixStack::top() const

13 years agoAvoid unnecessary work in Batch's vector append
Mikko Rasa [Tue, 11 Jan 2011 19:55:33 +0000 (19:55 +0000)]
Avoid unnecessary work in Batch's vector append
Make Immediate use Batch for drawing

13 years agoRename some Loader methods to avoid having to static_cast the pointers
Mikko Rasa [Mon, 10 Jan 2011 18:59:56 +0000 (18:59 +0000)]
Rename some Loader methods to avoid having to static_cast the pointers

13 years agoAdd a rendering supervisor class
Mikko Rasa [Mon, 10 Jan 2011 18:52:05 +0000 (18:52 +0000)]
Add a rendering supervisor class
Remove bind semantics from RenderPass

13 years agoMake RenderPass use a Texturing for textures
Mikko Rasa [Sun, 26 Dec 2010 16:35:14 +0000 (16:35 +0000)]
Make RenderPass use a Texturing for textures

13 years agoImprove the ambient occlusion algorithm
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

13 years agoSupport different data types in Batch
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

13 years agoRestore old buffer binding when setting data
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