summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* glContainer should at least double in capacity as requiredDan Goodliffe2023-05-01
|
* Extend glContainer with most of the interface expected of an STL containerDan Goodliffe2023-05-01
|
* Initial commit of glContainerDan Goodliffe2023-04-30
| | | | A std::vector like container backed by an OpenGL buffer.
* Rename strings.h to something that won't conflict with a system headerDan Goodliffe2023-04-30
|
* 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
* Merge branch 'instancing-pt2'Dan Goodliffe2023-04-27
|\
| * 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 remote-tracking branch 'origin/assimp-normals'Dan Goodliffe2023-04-25
|\ \
| * | Clear world objects explicitlyDan Goodliffe2023-04-25
| | | | | | | | | | | | Otherwise the fail to remove themselves from the VBO after the GL context is destroyed.
| * | Set vertex normals from AssImp data if availableDan Goodliffe2023-04-25
| | |
| * | Don't update face/vertex normals if normals were provided, simply use them as isDan Goodliffe2023-04-25
| | |
| * | Allow setting a flag to say (vertex) normals have been providedDan Goodliffe2023-04-25
|/ /
* / Remove duplicate Tree-01-1 definitionDan Goodliffe2023-04-25
|/
* 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.