summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Spread the trees outDan Goodliffe2023-11-25
|
* Send position and rotation matrix to GPU separately in basic programDan Goodliffe2023-11-25
| | | | Missed from earlier commit
* 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
|
* Add Location 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
|
* Don't request a specific OpenGL version, just check we get something ↵Dan Goodliffe2023-11-07
| | | | sufficient from gladLoadGL
* Merge branch 'glad'Dan Goodliffe2023-05-28
|\
| * Swap GLEW for more modern gladDan Goodliffe2023-05-28
| |
| * Add glad submodule and build a glad libraryDan Goodliffe2023-05-27
|/ | | | | Slightly messy regarding file paths to get files generated by the glad generator into a place where b2 will happily find them later... but it works.
* Mark main rule as always, so we can always launch itDan Goodliffe2023-05-24
|
* Make Mesh into a template to support any vertex typeDan Goodliffe2023-05-10
| | | | Customisation point VertexArrayObject to define the layout for the type
* Support for tessellation shadersDan Goodliffe2023-05-09
|
* Merge branch 'containers'Dan Goodliffe2023-05-07
|\
| * Templated BufferedLocation and single buffer storage for RVC locationsDan Goodliffe2023-05-06
| |
| * Refactor InstanceVertices in terms of glContainerDan Goodliffe2023-05-01
| |
| * Don't explictly call destructor of contained elementDan Goodliffe2023-05-01
| |
| * Add the pack containerDan Goodliffe2023-05-01
| | | | | | | | Keeps its elements densely packed together without any interest in order
| * Add method to get GL buffer name of glContainerDan Goodliffe2023-05-01
| |
| * Add missing test over iterator comparisonDan Goodliffe2023-05-01
| |
| * 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.