summaryrefslogtreecommitdiff
path: root/gfx
Commit message (Collapse)AuthorAge
* Switch to millimeters for spatial unitsDan Goodliffe2023-11-15
| | | | | | Mostly a case of changing far too many magic numbers, something else to fix I guess. I probably missed something. Also there's some hackery when loading 3D models, which are still assumed to be in metres.
* Send position and rotation matrix to GPU separatelyDan Goodliffe2023-11-13
|
* Refactor BufferedLocationT to use a callbackDan Goodliffe2023-11-11
| | | | Simplifies customisation in the face of multiple fields
* Add BufferedLocation method for getting the rotation only transformDan Goodliffe2023-11-11
|
* Fix definition of shadowMapRegionsDan Goodliffe2023-11-09
|
* WIP typedefing just about everything elseDan Goodliffe2023-11-09
|
* WIP typedefing all the things - sourcesDan Goodliffe2023-11-09
|
* WIP typedefing all the things - headersDan Goodliffe2023-11-07
|
* Reformat with new clang-formatDan Goodliffe2023-11-07
|
* Swap GLEW for more modern gladDan Goodliffe2023-05-28
|
* Make Mesh into a template to support any vertex typeDan Goodliffe2023-05-10
| | | | Customisation point VertexArrayObject to define the layout for the type
* Templated BufferedLocation and single buffer storage for RVC locationsDan Goodliffe2023-05-06
|
* Refactor InstanceVertices in terms of glContainerDan Goodliffe2023-05-01
|
* Reformat with new clang-format 16Dan Goodliffe2023-04-29
|
* Drop .hpp for header only thingsDan Goodliffe2023-04-29
| | | | Half of them acquired a .cpp part anyway
* Dunno how, but some DOS new lines got in here!Dan Goodliffe2023-04-29
|
* Lookup material details once in the vertex shaderDan Goodliffe2023-04-27
| | | | ... instead of per texel in the fragment shader
* Revert "Export mesh size and primitive type"Dan Goodliffe2023-04-26
| | | | This reverts commit f3343e1cc8a56f039888d4d375a6d5a088a68494.
* Add Mesh helper for drawing instancesDan Goodliffe2023-04-26
| | | | Assumes the supplied VAO was created and configured for the mesh it's passed back to.
* Point shaders (shadows) can all share the same implementation now in a ↵Dan Goodliffe2023-04-26
| | | | | | single place They all just get `model` from a different place
* Point shaders can all share the same implementation now in a single placeDan Goodliffe2023-04-26
| | | | They all just get `model` from a different place
* Pop and complete instanced shadow supportDan Goodliffe2023-04-26
|
* Add BufferedLocationDan Goodliffe2023-04-23
| | | | | Wraps Location, storing a pre-computed mat4 transformation of the position/rotation in a VBO handled by InstanceVertices.
* Assert the buffer is actually mappedDan Goodliffe2023-04-23
| | | | Will fail if the context is deleted. We shouldn't trigger that, but we do right now.
* Keep the instance unused vector sorted and binary search itDan Goodliffe2023-04-22
|
* Don't fill the instances unused vector unnecessarilyDan Goodliffe2023-04-22
|
* Test instancing automatic unmap when count is called, add some nodiscardDan Goodliffe2023-04-22
|
* Streamline the instancing maintenanceDan Goodliffe2023-04-22
|
* Fix the instancing maintenanceDan Goodliffe2023-04-22
|
* Instances buffer data needs to be unmapped before useDan Goodliffe2023-04-21
| | | | | Here we change quite a bit to support mapping and unmapping the buffer as required. The instance/free referencing is still broken though. We add several instances of tree in the render.
* Expose bufferName and count from InstanceVerticesDan Goodliffe2023-04-20
|
* Support setting vertex attrib divisorDan Goodliffe2023-04-19
|
* Enable all vertex array attribs configured by vertexAttribFuncDan Goodliffe2023-04-19
|
* Persist vertexArrayId across multiple callsDan Goodliffe2023-04-19
| | | | Allows chaining together to build VAO from multiple buffers
* Add basic instanced shader to those which get the viewProjection configuredDan Goodliffe2023-04-19
|
* Fix type of basic instanced shaderDan Goodliffe2023-04-19
| | | | | It's now AbsolutePosProgram, which is kind of right, in that it takes no location data via uniform, it's all in the vertex data.
* Export mesh size and primitive typeDan Goodliffe2023-04-19
|
* Fix location of model matrix in vertex shaderDan Goodliffe2023-04-18
|
* Specialize vertexAttribFunc for matrices because there's an upper limit of ↵Dan Goodliffe2023-04-18
| | | | size 4 on attrib pointers
* Separate storing of mesh vertex/index data from configuring VAODan Goodliffe2023-04-17
|
* Revamp how VertexArrayObject configures attributes and dataDan Goodliffe2023-04-17
|
* Fix up the way spotlight shader worksDan Goodliffe2023-04-17
| | | | | Was mostly through lack of understanding and coincidences. Position is now the only vertex data, direction is moved to a uniform. Instancing will address this by making everything instance data.
* First cut of instance vertices and proxyDan Goodliffe2023-04-17
| | | | | Untested outside unit test, allows the use of a glBuffer as a storage container. To be combined with a vertex array and/or mesh etc for massing drawing with glDrawElementsInstanced
* Add the dynamicPoint shader for instancingDan Goodliffe2023-04-15
| | | | Same as dynamicPoint, but the model matrix is a vertex input
* Rename lots of shader filesDan Goodliffe2023-04-15
| | | | Names and paths still not perfect, but better and the weird name missuse is gone
* Remove the old .obj load, assets and supporting stuffDan Goodliffe2023-04-14
|
* Handle different mapmodes in basic shaderDan Goodliffe2023-04-14
|
* Write applicable Texture Options into texture atlas texture dataDan Goodliffe2023-04-14
|
* Define our own enum for texture mapmodeDan Goodliffe2023-04-14
|
* Set GL_PACK_ALIGNMENT before saving texture to fit buffer correctlyDan Goodliffe2023-04-14
|