214 Commits

Author SHA1 Message Date
Ralph Sennhauser 0c0552a428 Replace M_PI with C++ numbers
C++20 added π (pi) to the standard, replace the C macro globally.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2026-06-04 20:29:48 +02:00
Vladislav Belov 18a16aa135 Moves all rendering to material passes
Now we should use material passes instead of context and defines to
select a needed shader. It allows us to reduce the number of
shader combinations we use and reduce memory consumption.
2026-05-10 23:57:20 +02:00
Vladislav Belov 9aee507e28 Adds wireframe techniques for particle and terrain 2026-05-10 23:57:12 +02:00
Vladislav Belov 75bd640bd8 Removes context of terrain shadows and silhouettes
We were unnecessary passing all combinations of our scene shader context
even if we don't need it as for shadows and silhouettes for terrain
rendering. Since we only need to draw a solid color.
2026-05-10 23:56:57 +02:00
Chrzanof 5daae13525 Pass device command context by reference in DebugRenderer
Improve the DebugRenderer API by passing the IDeviceCommandContext
as a reference instead of calling g_Renderer.

Fixes: #6650
2026-01-24 11:54:01 +01:00
Vladislav Belov 3ffb5ec5a0 Removes USE_FOG define and switches to a shader parameter.
Refs #8385
2025-10-11 08:11:35 +02:00
Ralph Sennhauser 2cedb48de2 Remove custom span and use std::span
With C++20 the custom container PS:span, which was a backport of
std::span is no longer needed.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-24 11:09:57 +02:00
trompetin17 690838e3dc Add [locale] inline tag for per-locale fonts
New `[locale='xx']...[/locale]` markup lets GUI text sections render
with a locale-specific font (e.g. CJK) while the rest of the caption
keeps the current game font.

guiObject.caption = "Hello [locale='ja']世界[/locale], how do you
[locale='zh']感覺[/locale]" This is ideal for language pickers and
similar UI where you want the language name shown in its own script.

This commit unlocks richer, self-explanatory international UI while
keeping the legacy text behaviour unchanged.
2025-08-04 09:35:41 -05:00
Ralph Sennhauser 47b2733183 Fix some includes in source/renderer
Make include-what-you-use happy with some files in source/renderer and
fix what needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-12 12:19:41 +02:00
Vladislav Belov 0b33921c06 Removes GL code from the common GPU profiler. 2025-04-16 22:38:34 +02:00
Vladislav Belov 4f7f2e056c Fixes water foam texture size after scale. 2024-10-19 01:21:50 +02:00
vladislavbelov ffc4a56b9f Revert non-ASCII characters from source and configuration files introduced in 157c6af18e.
Fixes #6846

Differential Revision: https://code.wildfiregames.com/D5185
This was SVN commit r27965.
2023-12-03 00:30:12 +00:00
bb 157c6af18e Make the space in 0 A.D. non-breaking throughout the codebase.
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful

Will add linter rule in seperate commit

Happy recompiling everyone!

Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
2023-07-27 20:54:46 +00:00
vladislavbelov 38a6726a07 Fixes shore waves rendering after 29368cf776.
Tested By: phosit
Differential Revision: https://code.wildfiregames.com/D4865
This was SVN commit r27375.
2023-01-06 19:11:47 +00:00
vladislavbelov 90f064ff03 Switches from per draw vertex attribute format to precompiled vertex input layout.
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4852
This was SVN commit r27363.
2023-01-06 00:39:25 +00:00
vladislavbelov 4ed41d4a9a Switches from pipeline state descriptions to pipeline states.
Tested By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4850
This was SVN commit r27328.
2022-12-31 18:29:44 +00:00
vladislavbelov 3978149386 Reduces the uniform size of a texture transform of debug overlay shader.
This was SVN commit r27208.
2022-11-06 19:40:47 +00:00
vladislavbelov d3f0395d2a Adds BeginFramebufferPass/EndFramebufferPass instead of SetFramebuffer.
This was SVN commit r27151.
2022-10-12 21:51:27 +00:00
vladislavbelov 95106b2d9b Fixes crash in Atlas when switching from the Actor viewer. Fixes #6524
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4732
This was SVN commit r27041.
2022-08-10 17:17:24 +00:00
vladislavbelov 53033ceaa2 Fixes rendering reflections and refractions in case of empty scissors.
This was SVN commit r26902.
2022-05-24 19:15:26 +00:00
vladislavbelov a6f60afdc5 Adds instancing support to backend and enables it for minimap.
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4650
This was SVN commit r26901.
2022-05-24 07:11:23 +00:00
vladislavbelov 62e589ab76 Adds renderer backend interface and dummy backend.
Comments By: phosit, Stan
Tested By: Langbart, phosit
Differential Revision: https://code.wildfiregames.com/D4636
This was SVN commit r26858.
2022-05-08 22:02:46 +00:00
vladislavbelov 04bd96cee0 Moves uniform and texture binding to CDeviceCommandContext.
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4631
This was SVN commit r26848.
2022-05-02 20:57:22 +00:00
vladislavbelov d3a7491724 Removes CONFIG2_GLES from CPostprocManager and renderers.
This was SVN commit r26817.
2022-04-23 23:49:52 +00:00
vladislavbelov aba7a170d9 Moves vertex attribute binding to CDeviceCommandContext.
Tested By: Langbart, Stan
Differential Revision: https://code.wildfiregames.com/D4610
This was SVN commit r26815.
2022-04-23 20:11:14 +00:00
vladislavbelov 2c8f4c4837 Moves AssertPointersBound to draw commands to not forget to call it for new shaders.
In the future it allows to call AssertPointersBound in a more lazy way.

This was SVN commit r26784.
2022-04-12 18:02:08 +00:00
vladislavbelov b4253d48cb Moves CShaderProgram to backend and handling via CDeviceCommandContext.
Differential Revision: https://code.wildfiregames.com/D4548
This was SVN commit r26652.
2022-03-14 22:16:14 +00:00
vladislavbelov 647fccd410 Replaces native GL types by backend format in vertex attributes in CShaderProgram.
This was SVN commit r26594.
2022-03-07 02:21:05 +00:00
vladislavbelov bc6ab4ac49 Removes redundant CShaderProgram streams.
This was SVN commit r26582.
2022-03-06 20:53:39 +00:00
vladislavbelov 3a4bbd11fd Moves all GL draw commands to CDeviceCommandContext.
Differential Revision: https://code.wildfiregames.com/D4518
This was SVN commit r26525.
2022-03-03 07:09:59 +00:00
vladislavbelov 23a023507a Replaces GL_LINES, GL_QUADS, GL_TRIANGLE_STRIP and GL_TRIANGLE_FAN by GL_TRIANGLES.
This was SVN commit r26488.
2022-02-26 00:37:27 +00:00
vladislavbelov d5d1754991 Moves polygon mode handling to PipelineState and CDeviceCommandContext.
This was SVN commit r26486.
2022-02-25 22:05:06 +00:00
vladislavbelov 8a63adc40d Uses CDeviceCommandContext as an input parameter for CCanvas2D.
This was SVN commit r26480.
2022-02-25 08:14:11 +00:00
vladislavbelov b949f19875 Moves GL debug information toggle to run-time to make it easier to test after release.
This was SVN commit r26407.
2022-02-18 22:38:45 +00:00
vladislavbelov cff79b421a Moves GL vertex and index buffer management to CDeviceCommandContext.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4493
This was SVN commit r26406.
2022-02-18 17:33:12 +00:00
vladislavbelov 4de89c3db1 Moves texture management to CDeviceCommandContext, adds quality options.
Comments By: nwtour, Stan
Tested By: nwtour, Stan
Differential Revision: https://code.wildfiregames.com/D4488
This was SVN commit r26365.
2022-02-13 19:30:28 +00:00
vladislavbelov a17fad722a Moves framebuffer management to CDeviceCommandContext.
Tested By: Langbart, nwtour
Differential Revision: https://code.wildfiregames.com/D4475
This was SVN commit r26302.
2022-02-05 16:59:23 +00:00
vladislavbelov a1f98b016b Moves depth and stencil tests to PipelineState and DeviceCommandContext.
Differential Revision: https://code.wildfiregames.com/D4471
This was SVN commit r26286.
2022-02-01 16:38:55 +00:00
vladislavbelov 709e8292b0 Moves color mask, depth mask and function management from CShaderPass to DeviceCommandContext.
Tested By: Langbart
Comments By: Stan
Differential Revision: https://code.wildfiregames.com/D4465
This was SVN commit r26284.
2022-01-31 20:10:06 +00:00
vladislavbelov d4d1bc039f Moves culling mode and front face state management to DeviceCommandContext.
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4456
This was SVN commit r26259.
2022-01-27 17:25:37 +00:00
vladislavbelov ad5377bc0e Fixes fancy water shores drawing after 1d9a8b2b0b.
Reported By: wraitii
This was SVN commit r26231.
2022-01-20 17:31:21 +00:00
vladislavbelov 5adbe4f1a3 Moves blend state management to DeviceCommandContext. Fixes #6420
Tested By: Langbart
Comments By: Stan
Differential Revision: https://code.wildfiregames.com/D4441
This was SVN commit r26228.
2022-01-19 17:28:47 +00:00
vladislavbelov 40e75f9c89 Removes binding additional attribute for water shader added in 1d9a8b2b0b.
Reported By: Freagarach
This was SVN commit r26223.
2022-01-15 16:47:42 +00:00
vladislavbelov 971b734873 Moves hardcoded blend state in debug overlay and water to their techniques.
This was SVN commit r26218.
2022-01-14 18:44:40 +00:00
vladislavbelov 1d9a8b2b0b Splits water surface and shore drawing functions and fixes their switch.
Differential Revision: https://code.wildfiregames.com/D4436
This was SVN commit r26215.
2022-01-14 17:34:58 +00:00
vladislavbelov 9757cc2539 Removes direct shader binding, uses BeginPass always following e1374252b7.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4431
This was SVN commit r26199.
2022-01-11 05:56:44 +00:00
vladislavbelov b061a7ead4 Optimizes FBO usages for LOSTexture and water shore foam.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4418
This was SVN commit r26180.
2022-01-06 22:44:54 +00:00
Stan 0a8d382657 Fix OpenGL ES 2.0 Warnings.
This was SVN commit r26167.
2022-01-04 20:54:37 +00:00
vladislavbelov 87b5c233c5 Splits CRenderer part about scene to CSceneRenderer.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4412
This was SVN commit r26165.
2022-01-04 13:29:01 +00:00
vladislavbelov 4fba543488 Unifies providing SkyManager and WaterManager like other managers, refs b889826a3d.
This was SVN commit r26158.
2022-01-03 10:49:12 +00:00