c3cc0c7fe4
Render normals at each vertex
2018-11-19 13:17:06 -07:00
bd696eac1c
Write a quick pair of shaders for rendering normals
2018-11-19 11:27:21 -07:00
95fe543efc
Fix progress accounting: make it out of 1 instead of out of 3 tasks
2018-11-19 10:57:10 -07:00
7ff2d3ed6e
Move terrain update encoding to Terrain type
2018-11-19 10:53:33 -07:00
db1b0185e2
Parameterize dimensions and segments
2018-11-19 10:22:46 -07:00
e56f94dc56
Fix up indentation
2018-11-18 21:17:52 -07:00
2b2539d7df
Implement progress tracking
2018-11-18 21:15:20 -07:00
58f59baaf5
Reduce the texture size to 129 square
2018-11-14 08:09:41 -08:00
8e9f88faad
Add some os_signposts to track terrain generation
2018-11-14 07:57:54 -08:00
ebfe3b5d57
Instead of using map(), try just modifying the Points directly for diamond corners
2018-11-11 22:13:52 -05:00
50d895afa1
Add a performance test for the Diamond-Square renderer
2018-11-11 22:13:14 -05:00
f0d6177567
Move the render queue to the Diamond-Square object
2018-11-11 22:13:10 -05:00
e62dd1b0f2
Work in the normal calculations
2018-11-11 21:04:03 -05:00
f6f01b6419
Toggle filled and lines mode with z key
2018-11-11 20:34:04 -05:00
dc3de77a59
Debug modifying the geometry
...
packed_float3 != float3 ¯\_(ツ)_/¯
2018-11-11 20:16:08 -05:00
3462fa2458
Update heights of plane geometry in a shader kernel
2018-11-11 19:50:43 -05:00
e5678f291b
Pass normals through to the fragment shader
2018-11-10 21:46:32 -05:00
6a86368d3a
Include the normals in the generated Plane geometry
2018-11-10 21:10:03 -05:00
cb16b84ab9
Dispatch the Diamond-Square render pass onto a worker queue to keep the main thread free
2018-11-10 20:57:23 -05:00
6a43c10b9f
Add a roughness control
2018-11-10 17:52:37 -05:00
7658210da4
Fix an off by one bug... the tests didn't catch this one :\
2018-11-10 17:43:10 -05:00
63cad2404c
Expand the map calls to help with debugging
2018-11-10 17:42:42 -05:00
47df42c8e5
Add a basic Queue data structure
...
Implemented as a linked list.
2018-11-10 17:42:23 -05:00
4e4b6b9bca
Render the terrain
2018-11-10 17:08:24 -05:00
4a236bf6d6
Instantiate a DiamondSquare generator
2018-11-10 17:06:14 -05:00
5233a94fec
Oops fix my algorithm and update the tests
2018-11-10 17:05:54 -05:00
359c7ef987
Rename DiamondSquareAlgorithm -> DiamondSquareGenerator
2018-11-10 16:05:30 -05:00
dce01100cc
Complete migrating the algorithm implementation to the Algorithm object
2018-11-10 16:03:53 -05:00
e50a36f7d1
Test point->index conversion
2018-11-10 16:03:38 -05:00
045842c20a
Tests for diamondCorners and a lot of debugging
2018-11-10 15:33:12 -05:00
6b6e317a9c
Make Point and Size honest to goodness structs
2018-11-10 13:50:28 -05:00
5607f01ac1
Finish renaming algorithm -> generator
...
Xcode missed some
2018-11-10 13:22:01 -05:00
a58241cd13
Rename Algorithm -> TerrainGenerator
2018-11-10 13:16:22 -05:00
c62ae41fc0
Tests for side midpoints; move BFS test to BoxTests
2018-11-10 12:54:34 -05:00
48425d5cb8
Tests for breadth first search
2018-11-10 12:47:04 -05:00
8d6c48466b
Remove all the explicit type names from the tests
2018-11-10 10:40:44 -05:00
25abb91476
Move BFS stuff to use the new helper method
2018-11-10 10:40:29 -05:00
cd48797fa9
Fix the build; test box subdivisions
2018-11-10 10:30:07 -05:00
8e2a873edf
Move shader files to Shaders group
2018-11-10 09:54:17 -05:00
cce59a45dc
Get down an initial diamond-squares implementation
2018-11-10 09:53:37 -05:00
a390cbc584
Add unit test target for Terrain2
2018-11-08 20:19:31 -05:00
7343f0a83a
Wrap algorithm iteration flag in a semaphore
2018-11-07 17:11:30 -05:00
1a5ed92c14
Regeneration on ever 'n' now, but it gets scheduled on every frame in that semaphore group
2018-11-07 17:05:28 -05:00
11b9cba8ac
Add a Uniform object for RandomAlgorithm
...
This object contains several random numbers for the GPU kernel to use when generating random points. This isn't right yet (there are still patterns in the generated data) but it's time to move on...
2018-11-07 16:47:07 -05:00
76f0065d8b
Generate some pseudo-random numbers with a PRNG class in the shaders.
2018-11-04 22:30:06 -05:00
bd9cba2886
Get rid of an unused static let
2018-11-04 14:26:15 -05:00
8ffb0a1cfe
Generate terrain on a keypress
2018-11-04 14:19:02 -05:00
55a134882d
Proof of concept for Algorithm objects
...
Next up compute kernel dispatch!
2018-11-04 13:44:47 -05:00
96730ecd41
Use a fixed size 512x512 texture for the height map
...
This will make implementing other algorithms easier. :D
2018-11-04 11:34:25 -05:00
af5e5a6123
Generate some random heights to fill the height map texture and ... it works!
2018-11-04 08:25:01 -05:00