Commit graph

36 commits

Author SHA1 Message Date
Ralph Sennhauser
77e05ca26d
Convert span with dynamic extent to static extent
In some places we know the size at compile time, so use that knowlage.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-24 11:09:57 +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
Ralph Sennhauser
ed4e2587c2
Fix includes in source/maths
Make include-what-you-use happy with files in source/maths and fix what
needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-06 18:24:31 +02:00
Stan
bd5f8392be
Make CMatrix3D::operator*= behave as expected. 2024-10-08 16:04:22 +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
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
d8b8128abb Adds AsFloatArray to CMatrix3D.
This was SVN commit r26834.
2022-04-27 19:53:42 +00:00
vladislavbelov
31a6ffdd3a Removes mentions of legacy and unused GL calls, unifies AsFloatArray.
This was SVN commit r25961.
2021-10-11 12:39:01 +00:00
vladislavbelov
276050bcad Cleanup Camera code for projections.
Reviewd By: wraitii
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D1514
This was SVN commit r22033.
2019-01-05 22:40:56 +00:00
vladislavbelov
38d09ce35c Adds a perspective matrix, refracts a matrix projection setup to prepare for an isometric view.
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D971
This was SVN commit r20377.
2017-10-29 23:41:59 +00:00
elexis
b18f74da44 Remove trailing whitespace and whitespace in empty lines of source/ except source/third_party/.
This was SVN commit r18987.
2016-11-23 11:18:37 +00:00
Ykkrosh
b7888aea52 Add support for specular materials.
Let materials specify shader uniform values.
Use interned strings for shader uniform/attribute names.
Remove confusing float* cast operator on CVector4D.
Simplify and clean up CVector4D.
Remove non-supported 'old' lighting model.

This was SVN commit r11453.
2012-04-08 15:55:06 +00:00
Ykkrosh
a9eca31bad Even more GLES compatibility
This was SVN commit r11060.
2012-02-13 15:06:25 +00:00
Ykkrosh
db85833655 More GLES compatibility.
Move more rendering code to shader API.

This was SVN commit r11050.
2012-02-12 13:20:49 +00:00
Ykkrosh
cc5a0fba4e Use shader API for GUI text.
Flip GUI quads so we don't have to disable back-face culling.

This was SVN commit r10989.
2012-01-30 00:27:23 +00:00
Ykkrosh
8324a8981d Simplify GLSL program files.
Move water shaders to new shader system.

This was SVN commit r10982.
2012-01-29 12:04:39 +00:00
vts
fbb0e3995f Added prop point axes markers to Atlas' Actor Viewer panel
This was SVN commit r10703.
2011-12-10 05:11:25 +00:00
vts
85186c98b2 Better selection boxes. Closes #914, #295, #810.
This was SVN commit r10593.
2011-11-25 06:36:13 +00:00
Ykkrosh
b08e142193 Graphics optimisations and features from eihrul.
Add shadow filtering (PCF) option.
Fix ugly shadow saturation in old lighting mode.
Fix fancy water shader.
Fix camera matrix computation.
Support scissoring of camera frustum.
Optimise vertex skinning.
Inline various matrix functions.
Support filtering of the list of submitted models before a rendering
pass, for more precise culling.
Optimise water renderer (fixes #721, based on patch by ortalo).
Use scissoring when generating reflection/refraction textures.
Skip reflection/refraction texture generation when no water is visible.
Render alpha-blended objects differently (fixes #434).
Reduce shadow swimming effects.

This was SVN commit r9814.
2011-07-12 23:48:05 +00:00
Ykkrosh
c82d619cc4 Make decals only rotate around the Y axis, to avoid buggy stretched appearance when rotated non-horizontally
This was SVN commit r9298.
2011-04-22 13:19:23 +00:00
Ykkrosh
d24c93237c # Initial version of terrain decal textures.
Rejig CModel to support non-mesh-based props.
Avoid redundant recomputation for non-moving CRenderableObjects.

This was SVN commit r9055.
2011-03-13 19:22:05 +00:00
Ykkrosh
ede71ea791 Inline common vector/matrix operations, for performance.
Remove some redundant vector methods.
Compute skinning for positions and normals simultaneously.
(These changes reduce skinning cost by >50%.)

This was SVN commit r8170.
2010-09-24 16:54:20 +00:00
Ykkrosh
1743645fd3 Simplify the overly-complex CppDoc-breaking file headers
This was SVN commit r6832.
2009-04-18 17:51:05 +00:00
Ykkrosh
c9fa7f13d9 Add GPL header
This was SVN commit r6830.
2009-04-18 17:00:33 +00:00
janwas
b755ddefda remove all author/modified by tags.
make include guards consistent.

This was SVN commit r5040.
2007-05-07 16:33:24 +00:00
Ykkrosh
fc111ecb08 # Minor optimisations and features.
Made CMatrix3D::Translate assume something sensible about the structure
of the matrix, so it doesn't have to do a matrix multiplication.
Added quaternion nlerp (but haven't used it anywhere).
Changed animation interpolation so it loops smoothly in the actor viewer
but (hopefully) doesn't interpolate dying units into a half-upright
pose.

This was SVN commit r4932.
2007-03-01 00:14:35 +00:00
Ykkrosh
173c56140c # Fixed skeletal animation algorithm.
* Skinning is done in a way that works when there's more than one bone
influencing a vertex.
 * PMDs now store vertexes in world-space instead of bind-space. (The
loader converts the old-version PMDs so they still work.)
 * Moved SkinPoint, SkinNormal into CModelDef so it could use them when
loading the old PMDs.
 * Made the FastNormals approach non-optional, so the inverse-transpose
bone matrices could be removed. Changed the explanation of why it's a
valid approach.
 * Quaternion: Made GetInverse assume that the quaternions have unit
length (which they do when they're representing 3D rotations).
 * lib: Added support for DDS files that aren't a multiple of 4x4 (most
useful for 1x1, 2x2, etc that are still powers of two).
 * Actor Viewer: Added white terrain texture to the minimal test mod, so
shadows are visible. Changed default so walk/run animations don't move
the unit along the ground.
 * Removed some redundant repetition in doc comments.
 * Removed some unnecessary #includes.

This was SVN commit r4696.
2006-12-15 16:09:30 +00:00
Matei
106f59c5c7 # Added fancy water.
This was SVN commit r3897.
2006-05-28 02:13:32 +00:00
Ykkrosh
3d26549032 Fixed file properties - removed svn:executable and svn:keywords (left over from CVS conversion?) from all files; set svn:eol-style=native for *.cpp, *.h (and fixed files with inconsistent line endings)
This was SVN commit r3802.
2006-04-23 23:14:18 +00:00
prefect
90bf4ae0a7 - add CBound::Render()
- fix CBound::Transform() math
- beginnings of new shadow bound calculations

This was SVN commit r3436.
2006-01-29 17:34:45 +00:00
Ykkrosh
a3f4424e35 Fixed bug in documentation of confusing feature, unless the fix is wrong too
This was SVN commit r3434.
2006-01-29 02:58:19 +00:00
Ykkrosh
599452af85 Atlas: Camera controls.
Elsewhere: Quaternion stuff.

This was SVN commit r2734.
2005-09-15 05:31:49 +00:00
Ykkrosh
a04abf2967 Fail more quietly while loading
This was SVN commit r2565.
2005-07-30 20:12:41 +00:00
janwas
1eaadd38aa ran everything though mark's newline stomper.
This was SVN commit r322.
2004-05-30 00:46:58 +00:00
notpete
2cbc27174c Moved from terrain directory.
This was SVN commit r304.
2004-05-29 20:53:40 +00:00