bring the wall building marks closer to something workable
Building on the previous commit, this improves the vertex generation for the rendering markers, still does not add any logic that determines when and how to place them however.
Ramblings about hobbyist game development
bring the wall building marks closer to something workable
Building on the previous commit, this improves the vertex generation for the rendering markers, still does not add any logic that determines when and how to place them however.
– add render code and shaders for the wall build markers
– push coordinates and vertices data to render some examples
– rename the shaders to actually be more uniform
– improve the hash function for the walls (again), hopefullly for the last time (sic)
This is the first commit that brings in code for the build markers. The way that OLives deals with this task is done in three steps:
This commit added a lot of the boilerplate code to draw these markers to the renderer and the world, no logic has been added yet to actually determine when or where to draw them.
add function to completely remove walls
Now, besides changing the type of existing walls we support removing walls. In order to enable this function one keeps hitting the magical ‘o’ hotkey while in build mode due to lack of a UI.
fix conditions in shader that made selected dynamic objects transparent
We only want them to be slightly brighter, not transparent.
rename shader files to be more consistent
The models were a special case so far, since those were the first shaders be added.
add setting/resetting of wall tile types
Similar to adding objects and tiles the user can now also set/reset the wall types (read: wall papers) on either side of a piece of wall.
This is slightly more complicated as in the case of tiles, as here both sides of a piece of wall have to be regarded individually.
This change had effects on the shaders, the renderer, the World class, the SelectionState, the GameState and some other crowd favourites.
What is, however, still missing though is the removal and placement of walls.
fix mutexes to protect us from threading related corruption
Once again, fewer crashes through fewer race conditions.
make tiles editable (change tile type and reset it)
Now users cannot only place and remove objects, but also tiles.
do not try to use vertex buffers that have not been created yet (due to race conditions)
Fewer crashes for everyone!
move code from the renderer to the modelpipeline where it belongs. add more comments.
That is.. that is what it does. Make the renderer just a bit smaller, bit by bit.