Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add Mesh helper for drawing instances | Dan Goodliffe | 2023-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 Goodliffe | 2023-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 place | Dan Goodliffe | 2023-04-26 |
| | | | | They all just get `model` from a different place | ||
* | Fudge RV bogey position the same as we do the body in test-render | Dan Goodliffe | 2023-04-26 |
| | |||
* | Pop and complete instanced shadow support | Dan Goodliffe | 2023-04-26 |
| | |||
* | Handle rendering of RailVehicles through RailVehicleClass instancing | Dan Goodliffe | 2023-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 BufferedLocation | Dan Goodliffe | 2023-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 duplicating | Dan Goodliffe | 2023-04-23 |
| | |||
* | Add getTransform to Location; wraps the standard mat4 calculations | Dan Goodliffe | 2023-04-23 |
| | |||
* | Clear world objects explicitly | Dan Goodliffe | 2023-04-23 |
| | | | | Otherwise the fail to remove themselves from the VBO after the GL context is destroyed. | ||
* | Assert the buffer is actually mapped | Dan Goodliffe | 2023-04-23 |
| | | | | Will fail if the context is deleted. We shouldn't trigger that, but we do right now. | ||
* | Merge branch 'instancing' | Dan Goodliffe | 2023-04-22 |
|\ | |||
| * | Keep the instance unused vector sorted and binary search it | Dan Goodliffe | 2023-04-22 |
| | | |||
| * | Don't fill the instances unused vector unnecessarily | Dan Goodliffe | 2023-04-22 |
| | | |||
| * | Test instancing automatic unmap when count is called, add some nodiscard | Dan Goodliffe | 2023-04-22 |
| | | |||
| * | Streamline the instancing maintenance | Dan Goodliffe | 2023-04-22 |
| | | |||
| * | Fix the instancing maintenance | Dan Goodliffe | 2023-04-22 |
| | | |||
| * | Instances buffer data needs to be unmapped before use | Dan Goodliffe | 2023-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 rendering | Dan Goodliffe | 2023-04-20 |
| | | |||
| * | Expose bufferName and count from InstanceVertices | Dan Goodliffe | 2023-04-20 |
| | | |||
| * | Support setting vertex attrib divisor | Dan Goodliffe | 2023-04-19 |
| | | |||
| * | Enable all vertex array attribs configured by vertexAttribFunc | Dan Goodliffe | 2023-04-19 |
| | | |||
| * | Persist vertexArrayId across multiple calls | Dan Goodliffe | 2023-04-19 |
| | | | | | | | | Allows chaining together to build VAO from multiple buffers | ||
| * | Add basic instanced shader to those which get the viewProjection configured | Dan Goodliffe | 2023-04-19 |
| | | |||
| * | Fix type of basic instanced shader | Dan Goodliffe | 2023-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 type | Dan Goodliffe | 2023-04-19 |
| | | |||
| * | Fixup vertexAttribFunc for matrices | Dan Goodliffe | 2023-04-19 |
| | | |||
| * | Drop performance debug to warning and stop disabling error checking for ↵ | Dan Goodliffe | 2023-04-19 |
| | | | | | | | | texture save | ||
| * | Fix location of model matrix in vertex shader | Dan Goodliffe | 2023-04-18 |
| | | |||
| * | Specialize vertexAttribFunc for matrices because there's an upper limit of ↵ | Dan Goodliffe | 2023-04-18 |
| | | | | | | | | size 4 on attrib pointers | ||
| * | Separate storing of mesh vertex/index data from configuring VAO | Dan Goodliffe | 2023-04-17 |
| | | |||
| * | Revamp how VertexArrayObject configures attributes and data | Dan Goodliffe | 2023-04-17 |
| | | |||
| * | Fix up the way spotlight shader works | Dan Goodliffe | 2023-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 state | Dan Goodliffe | 2023-04-17 |
| | | |||
| * | Create a large test forest | Dan Goodliffe | 2023-04-17 |
| | | |||
| * | First cut of instance vertices and proxy | Dan Goodliffe | 2023-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 instancing | Dan Goodliffe | 2023-04-15 |
|/ | | | | Same as dynamicPoint, but the model matrix is a vertex input | ||
* | Rename lots of shader files | Dan Goodliffe | 2023-04-15 |
| | | | | Names and paths still not perfect, but better and the weird name missuse is gone | ||
* | Merge branch 'assimp' | Dan Goodliffe | 2023-04-14 |
|\ | |||
| * | Add an asset template and use it to define all the foliage assets in the ↵ | Dan Goodliffe | 2023-04-14 |
| | | | | | | | | plants pack | ||
| * | Remove the old .obj load, assets and supporting stuff | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Load all assets in red dir with asset factory | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Use asset factory models in test-render | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Handle different mapmodes in basic shader | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Write applicable Texture Options into texture atlas texture data | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Pass texture fragment mapmode to texture atlas | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Adjust test render view to get a closer view of our tree | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Configure texture fragment mapmode from material | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Define our own enum for texture mapmode | Dan Goodliffe | 2023-04-14 |
| | | |||
| * | Create texture fragments from materials | Dan Goodliffe | 2023-04-14 |
| | |