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
Ralph Sennhauser
5b5f678e3f
Fix some includes all over the place
...
Make include-what-you-use happy with some files in source and fix what
needs to be fixed.
Add markers to precompiled.h header includes to avoid
include-what-you-use wanting them to be removed.
Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-14 20:15:30 +02:00
Ralph Sennhauser
f9e1e742bf
Fix includes in source/renderer
...
Make include-what-you-use happy with files in source/renderer and
fix what needs to be fixed.
Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-27 16:07:14 +02: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
vladislavbelov
b9fd6f18f0
Adds proper IBuffer usage instead of dynamic flag.
...
Comments By: phosit
Differential Revision: https://code.wildfiregames.com/D5281
This was SVN commit r28107.
2024-06-10 19:31:41 +00: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
vladislavbelov
f40942f6b3
Moves CVertexBufferManager from global scope to CRenderer.
...
Differential Revision: https://code.wildfiregames.com/D5171
This was SVN commit r27907.
2023-10-28 21:01:22 +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
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
2d0cde4e64
Disallows backend buffer uploading inside framebuffer pass.
...
Differential Revision: https://code.wildfiregames.com/D4815
This was SVN commit r27182.
2022-10-29 23:20:04 +00:00
vladislavbelov
908d9a0079
Moves vertex buffer offset to SetVertexBuffer.
...
This was SVN commit r27137.
2022-10-09 11:47:34 +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
b808adcc00
Disables writing depth for decals as they follow terrain and water (if floating) shape. Fixes #6494
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4637
This was SVN commit r26852.
2022-05-05 17:25:20 +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
d2d22a4538
Makes the terrain and decals rendering code load effect once per usage.
...
This was SVN commit r26823.
2022-04-24 13:44:00 +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
a57581471d
Reduces the number of uniform changes in decals rendering and the number of render queries in models.
...
This was SVN commit r26688.
2022-03-20 16:08:19 +00:00
vladislavbelov
d214745f8f
Reduces the number of uniform changes in decals rendering.
...
This was SVN commit r26687.
2022-03-20 14:58:03 +00:00
vladislavbelov
37b30901b3
Removes C++ code for conditional defines removed in f29d059617.
...
Differential Revision: https://code.wildfiregames.com/D4551
This was SVN commit r26661.
2022-03-15 22:13:22 +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
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
6de2649955
Fixes empty decals drawing when a decal is outside or on a border of a map.
...
Reported By: Nullus
This was SVN commit r26514.
2022-03-01 18:02:52 +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
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
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
2f90becb28
Removes SkipSubmit and unused friends from Renderer.
...
This was SVN commit r26162.
2022-01-03 12:16:16 +00:00
vladislavbelov
3809457513
Replaces unclear PreferGLSL by direct renderer backend choice.
...
Commented By: Stan
Differential Revision: https://code.wildfiregames.com/D4363
This was SVN commit r26069.
2021-12-14 06:34:02 +00:00
vladislavbelov
4bae03c6c8
Enables GL_TEXTURE_2D always since we don't support FPP anymore.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4327
This was SVN commit r25982.
2021-10-30 14:34:20 +00:00
vladislavbelov
b360b7bd2b
Disallow hardware without VBO support to simplify vertex buffer usages.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4054
This was SVN commit r25659.
2021-06-03 22:06:59 +00:00
wraitii
0c23e595fa
Include CStrInternStatic where necessary only.
...
This makes incremental recompilation faster when changing static
interned strings.
Differential Revision: https://code.wildfiregames.com/D3975
This was SVN commit r25457.
2021-05-18 11:09:54 +00:00
vladislavbelov
03ed891029
Do not generate render data in case CDecal calculated wrong coordinates.
...
Tested By: OptimusShepard, Stan
Differential Revision: https://code.wildfiregames.com/D3578
This was SVN commit r24932.
2021-02-18 21:09:41 +00:00
vladislavbelov
65aa3d9292
Switches decals to VBChunk to reduce the number of state changes.
...
Also allows to use compressed vertex formats in future.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3553
This was SVN commit r24870.
2021-02-10 23:48:43 +00:00
vladislavbelov
5e1b84ed64
Batches decals and reduces the number of state changes.
...
Reviewed By: wraitii
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D3545
This was SVN commit r24867.
2021-02-10 16:42:56 +00:00
vladislavbelov
f8fde587a0
Removes unused dummy shader from decals rendering.
...
This was SVN commit r24828.
2021-02-04 00:00:55 +00:00
vladislavbelov
d7d02a4740
Moves terrain lighting calculation to GPU.
...
Reviewed By: wraitii
Tested By: OptimusShepard, Stan, wraitii
Differential Revision: https://code.wildfiregames.com/D3052
This was SVN commit r24124.
2020-11-04 12:54:17 +00:00
wraitii
5c4d124d2a
Refactor renderer options.
...
This moves the renderer options into their own class to:@
- allow one to only include the rendering options, not the whole
renderer header, when one wants access to rendering options.
- centralise rendering changes and their side-effects.
- clean up code.
Tested by: historic_bruno, Freagarach
Commented by: historic_bruno
Differential Revision: https://code.wildfiregames.com/D1929
This was SVN commit r22610.
2019-08-04 08:28:30 +00:00
elexis
417c84870c
Actually remove trailing tabs from source/.
...
This was SVN commit r18991.
2016-11-23 14:09:58 +00:00
elexis
6149dd3841
Actually remove trailing whitespace for non-header files as well.
...
This was SVN commit r18989.
2016-11-23 13:02:58 +00:00
historic_bruno
70219ab61f
Fixes GLSL terrain decal flicker by initializing normal vectors, fixes #2064
...
This was SVN commit r16349.
2015-02-17 08:13:24 +00:00
Ykkrosh
e02d7ad949
Automatically replace %hs/%ls with %s in CLogger format strings.
...
Everything is char* now, so we don't need to mess around with different
string types.
Done with:
ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs perl
-pi -e'1 while
s/(LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR).*)%[hl]s/$1%s/g'
This was SVN commit r16187.
2015-01-22 20:36:24 +00:00
Ykkrosh
49e2ecea63
Automatically convert all CLogger format strings from wchar_t* to char*.
...
Done with:
ag -ls 'LOG(MESSAGE|MESSAGERENDER|WARNING|ERROR)' source | xargs sed
-i 's/LOG\(MESSAGE\|MESSAGERENDER\|WARNING\|ERROR\)(L/LOG\1(/g'
This was SVN commit r16183.
2015-01-22 20:31:30 +00:00
Ykkrosh
c2583e42da
Reduce memory allocations in the renderer
...
Use an arena allocator in ShaderModelRenderer::Render, to reduce
the allocation cost in STL containers.
Avoid unnecessary copying of std::vectors.
This was SVN commit r13911.
2013-09-29 14:48:11 +00:00
Ykkrosh
994ebd9836
Add a list of statically-constructed CStrIntern strings
...
Switch all the constant strings in graphics code to use the new
variables.
This avoids the cost of instantiating CStrInterns at runtime every
frame.
This was SVN commit r13906.
2013-09-29 13:19:52 +00:00
Ykkrosh
555deea136
Fix conditional defines to not construct new CShaderDefines frequently
...
CShaderDefines is designed to be efficient to copy and compare, but not
to construct. Conditional defines were constructing new CShaderDefines
for many models every frame.
Precompute all the possible conditional combinations of CShaderDefines
when a material is first loaded, so they can be looked up at no cost
when rendering.
This was SVN commit r13902.
2013-09-29 00:30:58 +00:00
historic_bruno
7d8dc05c68
Fixes actor viewer bug where view was obstructed by map's water level. Fixes #1562 .
...
Adds water plane option to actor viewer.
This was SVN commit r12715.
2012-09-28 18:20:36 +00:00