|
|
0bc29af650
|
Merge remote-tracking branch 'origin/feat/switch-fastenings' into feat/renderers-cleanup
|
2026-10-31 17:13:45 +01:00 |
|
|
|
765153ad91
|
Merge remote-tracking branch 'origin/feat/switch-blades' into feat/renderers-cleanup
|
2026-10-29 23:55:04 +01:00 |
|
|
|
96100f1155
|
Draw the cab probe with all the lights of the cab
|
2026-10-29 20:05:03 +01:00 |
|
|
|
9904eddd0d
|
Light the cab with cablight/dashboardlight light points of the cab model
|
2026-10-28 20:55:45 +01:00 |
|
|
|
c4e23932bf
|
Add the optional Radius, ShadeSelf, CastShadows and SoftFalloff of FreeSpotLight and make FalloffAngle 360 a point light
|
2026-10-28 16:18:03 +01:00 |
|
|
|
e8a90507f0
|
Light the cab with the sun coming in through its windows
|
2026-10-28 12:19:43 +01:00 |
|
|
|
2a876befb0
|
Shade the sky and the sun by the scenery around the camera instead of the track environment flags
|
2026-10-27 16:02:36 +01:00 |
|
|
|
9dde5b0e5e
|
Take the ambient occlusion into the lighting and add a probe of the cab
|
2026-10-27 13:23:52 +01:00 |
|
|
|
ac0b4e5f15
|
Add a white balance to the tonemapping
|
2026-10-27 01:40:19 +01:00 |
|
|
|
719c729929
|
Improve rain shader
|
2026-10-26 15:51:56 +01:00 |
|
|
|
1841e6d7b0
|
Add NVIDIA DLSS to the Vulkan renderer (gfx.antialiasing dlss/dlaa) and gfx.buffer.percent
|
2026-10-25 19:35:33 +01:00 |
|
|
|
f20b1a3071
|
Replace cubemap scenery reflections with SSR, add Vulkan ray traced reflections
|
2026-10-25 13:54:49 +01:00 |
|
|
|
89f11895fc
|
Keep the walk's model block after the depth and shadow passes of the gpu-culled draws
|
2026-10-25 11:18:34 +01:00 |
|
|
|
252b9373ea
|
Add gfx.antialiasing (off, msaax2/x4/x8, taa) with temporal anti-aliasing in the GL 4.6 and Vulkan renderers
|
2026-10-25 05:17:41 +01:00 |
|
|
|
c48c58776a
|
Vulkan: parity with GL (P1–P7), shared GPU culling records (N6c), threaded command recording and render thread (M1, M4)
|
2026-10-25 03:06:01 +01:00 |
|
|
|
9b7d02e5fb
|
Vulkan: scene rendering (D1–D7) on a scene walk shared with GL (N6a, N6b)
|
2026-10-24 20:10:24 +02:00 |
|
|
|
bd589f272d
|
feat(vulkan): vulkan 1.4 core with the user interface and the launcher, shaders split into ogl46/vk14 with SPIR-V binaries loaded first
|
2026-10-24 05:47:11 +02:00 |
|
|
|
68fa5dc2da
|
feat(vulkan): gfxrenderer picks the opengl 4.6 or the vulkan 1.4 renderer (B1-B3)
|
2026-10-24 03:06:33 +02:00 |
|
|
|
6bcdb7dd05
|
perf(gl46): the geometry of the banks without user data in a few large buffers shared by them, so the multi draws take the chunks of many models at once (gfx.geometry.shared)
|
2026-10-24 01:49:02 +02:00 |
|
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 |
|
|
|
e53c44ed4d
|
perf(debug): cpu time of the parts of the culling and the draws of the instances of the main view in the gpu culling section of the debug panel
|
2026-10-24 01:38:33 +02:00 |
|
|
|
3e2d292709
|
perf(gpucull): keep the walks of the submodel trees of the instances from frame to frame and make them again only when the model changes (gfx.gpucull.walkcache)
|
2026-10-24 01:01:43 +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 |
|
|
|
794ac578de
|
perf(textures): with texture streaming read the data ahead of the camera instead of the whole scenery at load, drop read-ahead data unused for 5 min
|
2026-10-23 23:35:02 +02:00 |
|
|
|
336690ad8a
|
perf(debug): debug.memorystats switch for the heap counting (off by default) and the places of the large heap blocks in the memory section
|
2026-10-23 23:10:32 +02:00 |
|
|
|
16ee4ff65b
|
perf(debug): live heap blocks by size and the objects of the simulation tables in the memory section of the debug panel
|
2026-10-23 22:45:49 +02:00 |
|
|
|
4be94dd006
|
perf(debug): count what the program takes with new (global operator new/delete of the executable) and the objects of the model instances in the memory section of the debug panel
|
2026-10-23 22:26:01 +02:00 |
|
|
|
2dc70a50bc
|
perf(debug): memory of the process and of its parts in the debug panel: resident, peak and private memory, card memory (GL_NVX_gpu_memory_info), the copies kept by the textures, geometry banks, models, scenery shapes and lines, sleepers and sound buffers
|
2026-10-23 22:02:03 +02:00 |
|
|
|
1a42009dc2
|
perf(physics): performance.multithreading switches the work over many threads, which each job sizes by how much it has: the physics steps a thread per 128 vehicle steps, up to all logical cores
|
2026-10-23 21:07:05 +02:00 |
|
|
|
9f7217256b
|
fix(physics): the external program messages (multiplayer) no longer keep the physics steps in one thread, only network sessions do; the debug panel tells what keeps them in one
|
2026-10-23 20:12:02 +02:00 |
|
|
|
60667588b5
|
perf(physics): the steps of the vehicle physics on many threads, in groups of vehicles which act on one another (performance.cpucores, 0: all cores)
|
2026-10-23 19:56:36 +02:00 |
|
|
|
9a7ff372f7
|
perf(debug): count what wakes the physics of the vehicles (brake pipe, main reservoir pipe, command, speed, acceleration, neighbour, other) in the debug panel
|
2026-10-23 19:08:09 +02:00 |
|
|
|
f17462b186
|
perf(physics): road vehicles farther than 1 km from the camera go by one step of the physics in a frame (physics.roadlod); count what resets the switching time of the vehicles (compressor, mains, diesel, physics woken) in the debug panel
|
2026-10-23 18:47:01 +02:00 |
|
|
|
e054fe900d
|
perf(debug): count what keeps the physics on in rail vehicles standing still (active cab, speed, acceleration, switching, ezt/dmu, moving neighbour), for the debug panel
|
2026-10-23 18:06:12 +02:00 |
|
|
|
5a53c32b0a
|
perf(debug): forces and update of the vehicles by kind in the debug panel: rail and road, within 1 km of the camera and farther, with the counts of vehicles and of the ones standing still
|
2026-10-23 17:51:15 +02:00 |
|
|
|
52df707f30
|
perf(debug): parts of the vehicle update in the debug panel: scenery animations, power grid, roads, preparation, forces, vehicle update and ai, with the counts of vehicles and physics steps; input and the start of the ui frame timed apart
|
2026-10-23 17:26:44 +02:00 |
|
maj00r
|
5aedbcdc1b
|
feat(sleepers): the timbers of a switch get the fastenings of the rails from the submodels plate, chair and check of their model: a plate under each rail where it lies on a timber, slide chairs under the stock rails along the blades, a fastening of both where a check rail or another rail of the frog lies close beside, the legs of the nose in one plate where they're joined; the rails sit on the plate, the blades ride on the slide plates of the chairs as high as the model has them, their webs shortened; the fastenings drawn within 120 m; selftest fastenings
|
2026-10-23 16:46:58 +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 |
|
|
|
2d7942786d
|
feat(track): each 3D sleeper at the level of detail of its own distance
|
2026-10-21 21:48:17 +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 |
|
|
|
30cb83584d
|
fix(track): timbermodel of a track lays switch timbers without sleepers3d in eu07.ini
|
2026-10-21 15:37:11 +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 |
|
|
|
dfbe8a6d9e
|
feat(gl46): leave out instance buckets beyond their range before the culling
|
2026-10-20 14:57:30 +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 |
|