summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Revert "Export mesh size and primitive type"Dan Goodliffe2023-04-26
| | | | This reverts commit f3343e1cc8a56f039888d4d375a6d5a088a68494.
* Draw rail vehicle classes and foliage with new mesh instance helperDan Goodliffe2023-04-26
|
* 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
* Fudge RV bogey position the same as we do the body in test-renderDan Goodliffe2023-04-26
|
* Pop and complete instanced shadow supportDan Goodliffe2023-04-26
|
* Handle rendering of RailVehicles through RailVehicleClass instancingDan Goodliffe2023-04-23
| | | | | | | Trains no longer need rendering as their parts are all RVC assets and that just works now. This commit creates some irritating duplication in RVC wrt body/2 bogies all of which are stored separately, but function in exactly the same way. This breaks RV shadows as we have no instancing shadow shaders yet.
* Add BufferedLocationDan Goodliffe2023-04-23
| | | | | Wraps Location, storing a pre-computed mat4 transformation of the position/rotation in a VBO handled by InstanceVertices.
* Use Location::getTransform in Plant instead of duplicatingDan Goodliffe2023-04-23
|
* Add getTransform to Location; wraps the standard mat4 calculationsDan Goodliffe2023-04-23
|
* Clear world objects explicitlyDan Goodliffe2023-04-23
| | | | Otherwise the fail to remove themselves from the VBO after the GL context is destroyed.
* 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.
* Merge branch 'instancing'Dan Goodliffe2023-04-22
|\
| * 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.
| * Switch to render trees in bulk through foliage asset renderingDan Goodliffe2023-04-20
| |
| * 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
| |
| * Fixup vertexAttribFunc for matricesDan Goodliffe2023-04-19
| |
| * Drop performance debug to warning and stop disabling error checking for ↵Dan Goodliffe2023-04-19
| | | | | | | | texture save
| * 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.
| * Assets moved to global game stateDan Goodliffe2023-04-17
| |
| * Create a large test forestDan Goodliffe2023-04-17
| |
| * 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
* Merge branch 'assimp'Dan Goodliffe2023-04-14
|\
| * Add an asset template and use it to define all the foliage assets in the ↵Dan Goodliffe2023-04-14
| | | | | | | | plants pack
| * Remove the old .obj load, assets and supporting stuffDan Goodliffe2023-04-14
| |
| * Load all assets in red dir with asset factoryDan Goodliffe2023-04-14
| |
| * Use asset factory models in test-renderDan Goodliffe2023-04-14
| |
| * Handle different mapmodes in basic shaderDan Goodliffe2023-04-14
| |
| * Write applicable Texture Options into texture atlas texture dataDan Goodliffe2023-04-14
| |
| * Pass texture fragment mapmode to texture atlasDan Goodliffe2023-04-14
| |
| * Adjust test render view to get a closer view of our treeDan Goodliffe2023-04-14
| |
| * Configure texture fragment mapmode from materialDan Goodliffe2023-04-14
| |