17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-22 12:03:20 +02:00
Commit Graph

164 Commits

Author SHA1 Message Date
abbdca4773 Let the templates of smoke sources set how fast their particles rise or fall 2026-10-20 17:12:23 +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
07ac7406a0 feat(terrain): grass follows the seasons and fades out over gfx.grass.fadedistance 2026-10-20 02:20: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
de9f61b307 Merge remote-tracking branch 'origin/feat/switch-blades' into feat/gl46-migration 2026-10-19 22:13:43 +02:00
8c00b0bc3d Fit the cascades of the sun shadows to the depth of the view 2026-10-19 12:02:01 +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
maj00r
d25f20a56c feat(track): 3D sleepers and switch timbers, blade heel and throw from templates, one rail carving pass
- sleepers3d / sleepers3dplain / sleepers3dbed in eu07.ini: timbers put together from the begin, main and end parts of a model
  and stretched to their length, plain sleepers of their own model; tracks whose plain sleepers would touch are laid as one
  cluster, lines of timbers led by priority and turned to the bisectors of frogs and crossings at a limited rate, whole timbers
  under crossings, split ones between tracks with room to part them, gaps filled per rail and overlaps shortened or dropped;
  clusters worked out in a background thread while driving, on demand in the editor
- the ballast can be left out under the beams (sleepers3dbed no)
- blades get their heel and throw from the switch template or blades <heel> <throw> in the scenery; blades of double switches
  run on into the track linking them to the next switch
- rail cutting at frogs, wing rails, movable noses and switch crossings done by one carving pass (RailCarve)
- tint of the rail treads applied to the colour only, without the matte band at the frog
- a switch trailed through with a movable nose set the other way derails the vehicle
- self-tests: sleepercheck, sharedzones, beamsnear, throw, sleepersbg
2026-10-17 23:32:43 +02:00
maj00r
7100cec12f feat(track): the texture of a shared running surface blends into the texture of the rail it lies on: 2 cm on each side of the boundary both are drawn in tinted variants of their materials that fade per vertex into the mean colour of the two treads, sampled from the texture files, so the edge of the wheels of the other track leaves a soft band instead of a line 2026-10-17 23:28:41 +02:00
maj00r
7e1b2c553c feat(renderer): a matte variant of a material for the parts of rails no wheel rolls on: it lights the same maps as weathered steel, with the weathering scaled per vertex by userdata, so a polished running surface fades into unused steel without a bright stripe; the cut faces of rails are drawn in it in an extra pass 2026-10-17 23:28:41 +02:00
435110cef9 Place the sun and the moon where they are and light the night by the phase of the moon 2026-10-17 22:47:24 +02:00
5a5c67aaaf Let the instances drawn from the GPU hide one another, in two phases 2026-10-17 21:50:23 +02:00
802e356c91 Curve the bases of the clouds up towards their edges and start every billow at a height of its own 2026-10-17 20:03:26 +02:00
0dae1f0b9f Give the fog volume a slice of the fog without its clouds for the sky 2026-10-17 19:56:35 +02:00
1730f400ad Let the base and the top of every cloud stand a little off those of its layer 2026-10-17 19:43:18 +02:00
df48637718 Switch the fog over the sky to the fog without the clouds as soon as the volume holds any cloud 2026-10-17 19:31:45 +02:00
56889679d9 Keep the clouds of the fog volume off the sky, where the ray march draws them already 2026-10-17 19:24:36 +02:00
1eeb5013cb Light the volumetric clouds by the sun three times as brightly 2026-10-17 19:03:46 +02:00
1152791e8c Space the steps towards the sun of the clouds geometrically and follow more orders of scattering 2026-10-17 19:01:39 +02:00
e1900a9cd3 Leave the finest octaves out of the cloud coverage noise so the sides of the clouds get no upright grooves 2026-10-17 18:41:15 +02:00
dd89aa5396 Fray the edges of the volumetric clouds with a finer noise and let their billows shade one another 2026-10-17 17:57:25 +02:00
22bf015939 Shade the volumetric clouds by the cloud over each point, not by the density at it 2026-10-17 17:24:51 +02:00
27e5c07837 Add screen-space contact shadows for the sun, lamps and headlights 2026-10-17 03:11:47 +02:00
8dd80c4d2e Even out the fog cells with their neighbours and stagger the points next to lamps 2026-10-17 00:37:58 +02:00
d07204db5c Take the light of a lamp in the fog along four rays in the cells next to it 2026-10-17 00:31:59 +02:00
f1c12ca651 Spread the light of a lamp in the fog over the size of a cell next to the lamp 2026-10-17 00:27:28 +02:00
e31a49f917 Sample the fog cells across their whole size and take their lamps from fixed clusters 2026-10-17 00:22:29 +02:00
e8dbaf70a9 Sample the fog cells in their middle across the view and dither the output 2026-10-17 00:11:27 +02:00
aa522d7376 Integrate the light of lamps across the fog cells instead of one point sample 2026-10-16 23:52:17 +02:00
6ee628aaa5 Steady the volumetric fog and add a switch for the old headlight beams 2026-10-16 23:23:51 +02:00
8b929fc1da Give the volumetric clouds lumps, sky and ground light and a fog colour by the angle from the sun 2026-10-16 22:25:11 +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
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
624c7f4f0b Do not cap the reach of a light at 1 km in the cluster culling 2026-10-15 20:25:51 +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
39d5df2ef3 Remove unused f_light_pos vertex shader output 2026-10-15 10:35:18 +02:00
9e64244ebd Require OpenGL 4.6 core context and regenerate glad 2026-10-15 01:39:32 +02:00
0e10ce4d0b Remove OpenGL ES / ANGLE render path 2026-10-15 00:53:28 +02:00
7b9eaf1ccb Editor terrain: area fill with blurred or sharp edge, texture rotation 2026-10-10 17:35:52 +02:00