CarmackStarRendering
https://news.ycombinator.com/item?id=33837401
https://news.ycombinator.com/item?id=33837401
In part 1 we looked at how to take a buffer of positions and the render them on the GPU with all kinds of helpful features such as constant screen size, double precision and stencil support. But where do we get the positions to go in that buffer?
Ephemeris needs to draw a lot of lines to show orbital paths. In fact most of the important information in the game is communicated entirely with lines and UI elements!
Ephemeris needs to draw a lot of lines to show orbital paths. In fact most of the important information in the game is communicated entirely with lines and UI elements!
Monday 1st
Monday 17th
Ephemeris has an "infinite" grid which acts as a reference to help understand the position of things within 3D space. This reference plane should have lines as thin as possible (1 pixel) without suffering from aliasing at any angle or distance.
The Ephemeris simulation is completely double precision and uses SI units, 1unit = 1meter. However, this simulation must be displayed in the Unity scene. This is a problem - the Unity scene uses single precision coordinates for position, there is a fundamental part of the engine and there is no way to change this. As mentioned in Precision & Scale Unity recommends a maximum scene size of 50km (i.e. 50,000 units) at most. To fix this Ephemeris uses three tricks: scale, floating origin and offsetting.