17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-02 23:16:22 +01:00
Commit Graph

43 Commits

Author SHA1 Message Date
maj00r
85b76acca5 perf(sleepers): the instances of the sleepers and timbers of a track sent to the gpu once, as it's laid, and kept there in a buffer of their own; in each pass the runs of them in sight turned by the modelviews of their cells into the instance buffer of the frame by a compute pass, one dispatch and one barrier a pass, and drawn in one instanced draw for each model, part and level of detail, in place of the cpu turning every instance every frame 2026-10-24 01:40:34 +02:00
maj00r
f155956669 perf(sleepers): the rails of each track for the fastenings worked out once and kept until its geometry is made again, it goes far or the crossings change, not again for every track laid around it; the fastenings laid only out to 30 m past where they're drawn, the tracks further out keeping their beams to lay them on as they come near; out past 50 m the tracks laid while the laying in a frame took under 2 ms, the rest in the frames after 2026-10-24 00:23:50 +02:00
fc714d50ec perf(debug): cpu timers of the simulation and the main loop, cpu time of the frame parts next to the gpu, renderer data of the debug panel in folding sections 2026-10-22 20:54:30 +02:00
5d3f857c39 perf(gl46): leave out instance buckets before the culling, lod bounds once per model, shared walks of the shadow cascades 2026-10-22 20:13:25 +02:00
925f5910bb refactor(track): the ballast fades into that of the tracks joined, as the rails do 2026-10-21 23:36:03 +02:00
b8eb5c71a1 feat(track): parallax track materials blended at the joints 2026-10-21 23:25:40 +02:00
c5a894a674 feat(track): rails and ballast blended into those of the tracks joined, where their textures differ 2026-10-21 22:34:57 +02:00
9c2520ea52 fix(track): 3D sleepers let go of the beams of the tracks far away 2026-10-21 18:19:21 +02:00
867497b658 Simulate and light the smoke on the GPU and make rain and snow of particles 2026-10-20 16:44:27 +02:00
6a109e984c perf(gl46): skip shapes out of the pass frustum and the motion blur when nothing moves 2026-10-20 15:23:03 +02:00
f3bdadad66 feat(terrain): holes cut in the heightmap terrain and shader grass painted over it 2026-10-20 01:32:01 +02:00
34f206fefc to de9f61b307 2026-10-19 22:14:04 +02:00
8c00b0bc3d Fit the cascades of the sun shadows to the depth of the view 2026-10-19 12:02:01 +02:00
b1f880b5a7 Cull the scenery models drawn on their own on the GPU with the instances 2026-10-19 10:54:04 +02:00
ffe77be754 Cull the instances of the shadow maps of headlights and lamps on the GPU 2026-10-18 23:14:08 +02:00
64dedb9d53 Record the opaque scene once and replay it for the depth prepass and the colour pass 2026-10-18 21:00:54 +02:00
2e30366235 Draw the recorded instance draws with the variant seed they were recorded with 2026-10-18 18:41:33 +02:00
bc4df5567f Cull and draw the sleepers of tracks on the GPU with the instances 2026-10-18 03:18:26 +02:00
f4b516eeb8 Cull shadow and reflection passes on the GPU 2026-10-18 01:46:45 +02:00
494304903f Draw the instances from the GPU with multi draws, the model block of each draw read by its number 2026-10-18 00:47:05 +02:00
5a5c67aaaf Let the instances drawn from the GPU hide one another, in two phases 2026-10-17 21:50:23 +02:00
27e5c07837 Add screen-space contact shadows for the sun, lamps and headlights 2026-10-17 03:11:47 +02:00
97112b143b Draw the depth of the whole scene before its colour 2026-10-17 02:15:50 +02:00
f352718e4a Stream model data through persistently mapped buffers 2026-10-17 01:24:33 +02:00
2be85410ce Draw volumetric clouds, their shadows, a volumetric fog and catalogue stars from a new weather system in the GL 4.6 renderer 2026-10-16 21:44:47 +02:00
d509775269 Cast shadows of vehicle headlights from the scene in their beam in the GL 4.6 renderer 2026-10-16 14:13:36 +02:00
466cb5339e Draw instances from the GPU culling with indirect draws, occlusion culling and a depth prepass 2026-10-16 12:54:52 +02:00
2f0a06b98e Cast shadows of scenery lamps from the scenery, nearby vehicles and the cab in the GL 4.6 renderer 2026-10-16 11:32:45 +02:00
06d7b9e9f0 Cast shadows of the cab lamp from the cab in the GL 4.6 renderer 2026-10-16 02:43:27 +02:00
4d3a401aae Cull and assign LOD to instances in a compute pass 2026-10-16 01:08:44 +02:00
9277c28805 Cull instances by compact records and draw them from a shader storage buffer 2026-10-16 00:37:54 +02:00
fd98d4eea5 Light the scene with lamps of models, vehicle compartments and the cab lamp in the GL 4.6 renderer 2026-10-16 00:07:08 +02:00
5f365a00c5 Fix the screen space ambient occlusion and add ground truth ambient occlusion to the GL 4.6 renderer 2026-10-15 23:03:50 +02:00
ce725c3d62 Add sky light, physical atmosphere, auto exposure and bloom to the GL 4.6 renderer 2026-10-15 22:16:41 +02:00
2e02cf8137 Lay the light cluster tiles over the window when the post processing is skippe; Bind the light cluster buffers when a viewport is created 2026-10-15 20:26:23 +02:00
c77151979a Bind an empty shadow map instead of unbinding the shadow map unit 2026-10-15 17:11:31 +02:00
9f2ae071a6 Use clustered light lists in forward shading 2026-10-15 16:16:53 +02:00
6aa6e505e8 Cull lights into clusters in a compute pass 2026-10-15 15:21:21 +02:00
f85cf5fe52 Build view-space light cluster grid in a compute pass 2026-10-15 14:16:55 +02:00
c0f45184b8 Move light data from UBO to std430 SSBO 2026-10-15 13:20:59 +02:00
677a96c293 Add SSBO and compute shader support to gl wrappers 2026-10-15 12:13:44 +02:00
4f72fd650c Remove glLineWidth probe and wide line calls that never take effect on core contexts 2026-10-15 10:35:08 +02:00
61bfc6eb1a Move modern OpenGL renderer to rendering/opengl46 and rename classes 2026-10-15 01:12:05 +02:00