- 04 Sep, 2011 2 commits
-
-
Robert Menzel authored
-
Robert Menzel authored
* OpenGL 4.1 style glProgramUniform functions are provided as mappings from an extension or emulation * mapping functions now consider OpenGL ES and native support for iOS 5 * ShaderProgram uses glProgramUniform instead of the EXT version like in OpenGL 4.1 * Easy to query OpenGL version numbers in OpenGL::Tools added * clean up in ACGL::init() * namespaces in the extension file
-
- 03 Sep, 2011 1 commit
-
-
Robert Menzel authored
-
- 02 Sep, 2011 2 commits
-
-
Robert Menzel authored
-
Robert Menzel authored
-
- 01 Sep, 2011 3 commits
-
-
Lars Krecklau authored
-
Andreas Neu authored
-Added member to the Attribute struct (VertexBufferObject) in order to save the index of the attribute within the shader -VertexBufferObjectControl and VertexBufferObjectControlFileOBJ can now do the mapping based on a shaderProgram assigned to them
-
Andreas Neu authored
-By assigning the shader to the FrameBufferObject Controller you can now assign the FragmentData Targets in a different order.
-
- 30 Aug, 2011 1 commit
-
-
Janis Born authored
-
- 24 Aug, 2011 2 commits
-
-
Robert Menzel authored
-
Robert Menzel authored
* Added support for direct state access based uniform setting in the ShaderProgram * functions from the EXT_direct_state_access extension can get emulated if the extension is not present in this case ACGL will map the simulated versions automatically to the *EXT function pointers so a programmer can just call the *EXT versions and doesn't have to care if the machine the code will get run on does support this extension (as long a simulated version already exists) * not all functions have emulated version right now, so check if an alternative exists before relying on functions from this extension in ACGL lib or implement the missing simulation function to support machines without this extension * all glProgramUniform functions can be emulated (plus some others that were quick to implement) * dummy functions for all other simulation functions exist
-
- 23 Aug, 2011 4 commits
-
-
Andreas Neu authored
-
Andreas Neu authored
-
Robert Menzel authored
-
Lars Krecklau authored
-Created the RenderObject from the State. The RenderObject now only composes VBOs, SPOs and FBOs and automatically creates the right mappings between them. -Removed the pre processor from the shader class, since we now only work with the gl getters to retrieve any locations (uniform, attribute, fragdata). -The ShaderProgram controllers have the possibility to define the order of the attributes manually (so the programmer can work with conventions).
-
- 19 Aug, 2011 11 commits
-
-
Andreas Neu authored
-
Robert Menzel authored
* OpenGL error checking level can now be set via cmake * OpenGL header configuration works better with external defines via cmake * OpenGL version gets checked at runtime in the ACGL::init function and complains it the version it was compiled for is not present
-
Andreas Neu authored
-
Lars Krecklau authored
-
Lars Krecklau authored
-
Lars Krecklau authored
-Added SPOs to the state object
-
Andreas Neu authored
-Modified Controller.hh to add the include path to ViewportControl.hh -Modified Viewport.hh to use GLint for the offset and GLsizei for the size -Modified Managers.hh to have a typedef ViewportNameManager
-
Lars Krecklau authored
- VertexBuffer and FrameBuffer renamed to VertexBufferObject and FrameBufferObject respectively. This convention is more consistent regarding the State, which now gets a FrameBufferObject (FBO), VertexBufferObject (VBO) and ShaderProgramObject (SPO) - Added controllers and objects to the Controller.hh and Objects.hh respectively - Added corresponding managers
-
Andreas Neu authored
-State::enableFrameBuffer() -> State::bindFrameBuffer() -Added State::useViewport() -Added Viewport::use() -Added VertexBuffer::enable() VertexBuffer::disable() -Modified VertexBuffer::render to be inline and just call enable() draw() disable()
-
Lars Krecklau authored
-Changed the state controller forcing the user to specify the needed pointers
-
Andreas Neu authored
Validation methods have been added VertexBuffer::validate() and FrameBuffer::validate(). These are called by State::validate()
-
- 18 Aug, 2011 4 commits
-
-
Andreas Neu authored
-
Andreas Neu authored
so that the overhead is taken out of the State::render() method. Furthermore State::update now builds an attribute list ordered by the array-buffer-id in order to avoid multiple bind calls of the same array buffer.
-
Andreas Neu authored
-
Andreas Neu authored
Added the class State to the framework in order to manage combinations of VertexBuffer, FrameBuffer and ShaderProgram. The class automatically creates a mapping between the attributes of vertexbuffers and shaders. Furthermore a mapping between FragDatas of shaders and rendertargets of framebuffers are created.
-
- 17 Aug, 2011 1 commit
-
-
Andreas Neu authored
Setting the name of a attachment in Framebuffer::attachColorTarget and Framebuffer::attachColorTexture.
-
- 16 Aug, 2011 3 commits
-
-
Andreas Neu authored
call glBindFragData(...). The RenderTargets of a FBO can now be named. Furthermore every occurence of 'aPosition' has been changed to 'iPosition' etc. for aColor, aNormal..
-
Lars Krecklau authored
- Furthermore, I have added support for normalized attribute values.
-
Lars Krecklau authored
- Renamed the BasicController interface to BasicCreateController, because this is actually what it does. - Created a BasicUpdateController interface to generate controllers that apply an update to a certain class. - The FileController now implements the Create and the Update controllers - Cleaned the texture class a little bit.
-
- 12 Aug, 2011 4 commits
-
-
Lars Krecklau authored
Started to constify everything. The FileManager now returns a ConstSharedResource to prevent changes.
-
Lars Krecklau authored
Removed static contexts from the opengl object. In future, this has to be handled by our opengl wrapper, which will hold a copy of the gl state on cpu side. Made all opengl contexts not copyable. Created a macro for the shared typedefs which directly creates a const version of the pointer. Started to change some opengl object functions to be non-const although they might not change any class members, because the function still might change something on gpu side. Therfore, returning the context of any opengl object is also non-const now! Changed the renderbuffer constructor to just create the context and moved the rest to its corresponding controller. Removed own type enums in opengl objects => ONLY use the orginial GLenums here!
-
Andreas Neu authored
-
Lars Krecklau authored
-
- 11 Aug, 2011 2 commits
-
-
Andreas Neu authored
Macro NOT_COPYABLE(Class) implemented, which automatically creates empty assignment operators and an empty copy constructor for class.
-
Andreas Neu authored
Until now only the class Texture used it. Now it has been added to ElementArrayBuffer, ArrayBuffer, FrameBuffer and ShaderProgram. Static class members have to be initialized outside the header, so the file ElementArrayBuffer.cc had to be added. Unbind calls e.g. glBindBuffer(GL_ARRAY_BUFFER, 0) outside of the specific class are not useful anymore, because it would not reset the static context variable and thus lead to bugs/crashes.
-