Commit graph

77 commits

Author SHA1 Message Date
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