a4a647e9f0
Removes unused variable in ParticleRenderer after fc223e3540
.
...
This was SVN commit r26222.
2022-01-15 16:29:26 +00:00
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
fc223e3540
Moves hardcoded blend state in ParticleRenderer to the transparent particles technique.
...
This was SVN commit r26217.
2022-01-14 18:18:28 +00:00
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
5cbd46de94
Removes deprecated GL alpha test.
...
In GL3.0 alpha test mode was deprecated and removed in GL3.3. We should
use discard/kill in shaders instead.
In shaders alpha test was removed in d3a24c26ba
, in FFP it was removed
with FFP in b7e6811ea6
.
Differential Revision: https://code.wildfiregames.com/D4434
This was SVN commit r26211.
2022-01-13 17:50:28 +00:00
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
0cda752ec3
Uses CVertexBufferManager handle instead of raw VBChunk pointer management.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4430
This was SVN commit r26196.
2022-01-10 16:51:43 +00:00
795fb070af
Removes asking GL of current bind framebuffer to avoid syncs.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4422
This was SVN commit r26193.
2022-01-09 07:36:56 +00:00
95318d34ff
Removes redundant layer check added in f715b73f4f
.
...
Reported By: Freagarach
This was SVN commit r26189.
2022-01-08 13:44:40 +00:00
9924450d36
Moves default GL state setup to GL device.
...
This was SVN commit r26187.
2022-01-07 22:21:22 +00:00
5610c71fc6
Fixes rendering big screenshot pieces onto screen, refs 52a8793450
.
...
This was SVN commit r26186.
2022-01-07 20:15:48 +00:00
f715b73f4f
Uploads cube textures in SkyManager via DeviceCommandContext.
...
Commented By: Stan
Differential Revision: https://code.wildfiregames.com/D4421
This was SVN commit r26185.
2022-01-07 20:00:41 +00:00
15c40861b4
Separates terrain alphamap combining and uploading.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4419
This was SVN commit r26184.
2022-01-07 14:33:54 +00:00
9d7457da9b
Removes ogl_tex usage from CRenderer.
...
This was SVN commit r26181.
2022-01-06 23:23:36 +00:00
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
9bc3dd4699
Fixes terrain overlay texture upload after fd976456d7
.
...
Reported By: nwtour
This was SVN commit r26176.
2022-01-06 14:16:32 +00:00
912202ff0c
Uses core GL functions for GLSL shaders.
...
Tested By: nwtour, Stan
Differential Revision: https://code.wildfiregames.com/D4416
This was SVN commit r26175.
2022-01-06 11:41:04 +00:00
cee0ce48eb
Disables redundant mipmap generation for postprocessing.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4417
This was SVN commit r26174.
2022-01-06 11:09:42 +00:00
27c8771a3a
Fixes debug drawing of a null shadow texture introduced in 36107cb7e1
, appeared after abc3190c03
.
...
Reported By: nwtour
This was SVN commit r26173.
2022-01-06 11:04:45 +00:00
fd976456d7
Performs texture uploads via DeviceCommandContext interface.
...
Tested By: Langbart, Stan
Differential Revision: https://code.wildfiregames.com/D4415
This was SVN commit r26170.
2022-01-05 14:49:54 +00:00
0a8d382657
Fix OpenGL ES 2.0 Warnings.
...
This was SVN commit r26167.
2022-01-04 20:54:37 +00:00
5e3426794c
Moves frame rendering function to CRenderer and combines with making screenshots.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4414
This was SVN commit r26166.
2022-01-04 18:13:45 +00:00
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
2f90becb28
Removes SkipSubmit and unused friends from Renderer.
...
This was SVN commit r26162.
2022-01-03 12:16:16 +00:00
3e6b0780fa
Removes unused Renderer friends of removed classes, refs 8753f881ee
, 6bc33fe8bd
.
...
This was SVN commit r26161.
2022-01-03 12:00:37 +00:00
3b8f1cdc04
Moves Renderer internals class out of the global namespace.
...
This was SVN commit r26160.
2022-01-03 11:11:58 +00:00
6dc0abebdb
Removes unused includes from Renderer.
...
This was SVN commit r26159.
2022-01-03 10:59:41 +00:00
4fba543488
Unifies providing SkyManager and WaterManager like other managers, refs b889826a3d
.
...
This was SVN commit r26158.
2022-01-03 10:49:12 +00:00
273d336364
Removes unused Atlas functionality to set clear color added in 2f53eea71a
and removed in 0d6882dad2
.
...
This was SVN commit r26156.
2022-01-03 09:39:54 +00:00
c9ba9299a3
Ignores sampler settings for multisample GL textures.
...
Reported By: Stan
This was SVN commit r26144.
2021-12-30 17:31:16 +00:00
abc3190c03
Removes binding native GLuint textures from public ShaderProgram API.
...
Differential Revision: https://code.wildfiregames.com/D4407
This was SVN commit r26143.
2021-12-30 16:37:51 +00:00
ae32055c9b
Add support for GL_KHR_debug in Debug Mode.
...
Based on a patch by: @linkmauve
Reviewed by: @vladislavbelov
Differential Revision: https://code.wildfiregames.com/D2488
This was SVN commit r26141.
2021-12-30 15:07:17 +00:00
92cf0c784c
Removes Handle from ShaderProgram to use more high-level objects.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4403
This was SVN commit r26138.
2021-12-29 07:07:08 +00:00
b9e4c14083
Fixes out of bounds access in SkyManager after 0837e369cf
.
...
This was SVN commit r26136.
2021-12-28 10:50:42 +00:00
136f4621af
Fixes crash for ARB shaders because they don't provide actual locations, triggered after c2c3a3b663
.
...
Reported By: nwtour
This was SVN commit r26127.
2021-12-27 21:27:56 +00:00
0837e369cf
Moves PostProcManager and SkyManager to GL texture class continuing 57ba7c4a1c
.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4398
This was SVN commit r26126.
2021-12-27 21:01:43 +00:00
9696df3c28
Removes unused ogl/ogl_tex includes.
...
This was SVN commit r26121.
2021-12-27 10:11:26 +00:00
60a422b668
Moves water textures and terrain alpha composite map to GL texture class following 57ba7c4a1c
.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4394
This was SVN commit r26120.
2021-12-27 08:14:47 +00:00
c2c3a3b663
Moves shadow map and terrain overlay to GL texture class continuing 57ba7c4a1c
.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4393
This was SVN commit r26117.
2021-12-26 09:48:48 +00:00
57ba7c4a1c
Encapsulates GL texture creation in a separate class.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4389
This was SVN commit r26107.
2021-12-25 00:26:10 +00:00
478164962f
Removes static linking of OpenGL library.
...
Tested By: Langbart, Stan
Differential Revision: https://code.wildfiregames.com/D4387
This was SVN commit r26104.
2021-12-24 08:02:27 +00:00
c9bea80e0d
Use GLAD2 a multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator.
...
Comments by: @nwtour , @Langbart, @bb
Based on patch by: @echotangoecho
Tested on Windows 7 & 10, Ubuntu and macos.
Differential Revision: https://code.wildfiregames.com/D721
This was SVN commit r26093.
2021-12-21 22:03:31 +00:00
a32ab00f4d
Moves backbuffer swap and error check to GL device.
...
This was SVN commit r26092.
2021-12-21 17:02:04 +00:00
3b9b7cd605
Moves GL report from HWDetect to GL device.
...
Tested By: Freagarach, Stan
Differential Revision: https://code.wildfiregames.com/D4376
This was SVN commit r26081.
2021-12-16 06:36:46 +00:00
eb004e5c98
Uses forward declaration for SDL in GL device.
...
This was SVN commit r26078.
2021-12-15 10:50:31 +00:00
93a9072618
Removes logs of unused GL constants which duplicate video mode settings.
...
This was SVN commit r26077.
2021-12-15 10:49:46 +00:00
89c181ded1
Encapsulates information about GL inside device.
...
Commented By: Stan
Differential Revision: https://code.wildfiregames.com/D4375
This was SVN commit r26072.
2021-12-15 06:43:41 +00:00
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
f28efbaa87
Forbids using more than 64 bones for GPU skinning.
...
Commented By: Stan
Differential Revision: https://code.wildfiregames.com/D4244
This was SVN commit r26067.
2021-12-13 19:22:27 +00:00
a3382fb3eb
Removes checks for unused or always enabled GL extensions.
...
Differential Revision: https://code.wildfiregames.com/D4371
This was SVN commit r26065.
2021-12-13 18:36:37 +00:00
fe81a6eec7
Refactors WaterManager to remove duplication of the current texture index calculation. Removes unused m_WaterCurrentTex from f2cae8cb9b
.
...
This was SVN commit r26045.
2021-12-09 18:01:28 +00:00
e1374252b7
Removes direct access to shaders, leaves only techniques.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4353
This was SVN commit r26020.
2021-11-27 15:01:14 +00:00
c0e0d620eb
Draws fancy water and its shore waves only for GLSL shaders.
...
This was SVN commit r26017.
2021-11-26 21:47:04 +00:00
d1a7aa2858
Adds alpha and custom options to render debug modes.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4346
This was SVN commit r25996.
2021-11-14 08:33:59 +00:00
36eb92f9a4
Adds render debug modes.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4311
This was SVN commit r25992.
2021-11-12 11:22:18 +00:00
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
3e198f1463
Removes duplication of terrain alpha map creation in Renderer.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4269
This was SVN commit r25931.
2021-09-20 12:55:39 +00:00
645e053fd2
Remove executable bit on some source files.
...
Reported by: Ralph Sennhauser
Fixes : #6325
This was SVN commit r25917.
2021-09-12 18:41:51 +00:00
96708cc6a5
Adds header for forward declarations of CStr.
...
This was SVN commit r25905.
2021-09-09 17:39:08 +00:00
a5c82a4ef6
Removes unused forward declarations of class and struct.
...
This was SVN commit r25903.
2021-09-08 19:43:01 +00:00
3b417062bb
Reduces the number of possible allocations for models with multiple UV sets during loading.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D4247
This was SVN commit r25890.
2021-09-03 20:11:52 +00:00
7d039f2627
Replaces gui material by solid material in water waves rendering.
...
This was SVN commit r25713.
2021-06-06 18:13:20 +00:00
fa03eb3485
Switches ShadowMap debug rendering to canvas2d material.
...
This was SVN commit r25712.
2021-06-06 18:05:10 +00:00
30e135693e
Implements configurable cascade shadows.
...
Tested By: Langbart, Stan, wraitii
Differential Revision: https://code.wildfiregames.com/D3972
This was SVN commit r25711.
2021-06-06 16:44:54 +00:00
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
2d455df18d
Removes Z value from TextRenderer translate, renames TextRenderer methods to more explicit ones.
...
This was SVN commit r25645.
2021-06-02 21:21:28 +00:00
7ce4552f5e
Moves partially MiniMap texture rendering into a separate object.
...
Tested By: Langbart, Stan
Differential Revision: https://code.wildfiregames.com/D4045
This was SVN commit r25628.
2021-06-01 18:55:35 +00:00
2cc671fd36
Makes 2D text drawing via Canvas2D.
...
This was SVN commit r25607.
2021-05-30 19:10:10 +00:00
7f16a5c40c
Moves TextRenderer shader to a more relevant place, into the rendering function argument.
...
This was SVN commit r25606.
2021-05-30 18:28:06 +00:00
f7ad2daf62
Removes gui_solid material shader usages from scene rendering.
...
This was SVN commit r25582.
2021-05-27 20:13:47 +00:00
d9d19543b5
Adds std namespace to shared_ptr usages in network and engine.
...
This was SVN commit r25527.
2021-05-22 19:28:40 +00:00
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
8b6d4233eb
Disables by default Intel Mesa workaround to save video memory.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/DD3967
This was SVN commit r25449.
2021-05-16 19:08:28 +00:00
5ff4fa19c0
Removes unused and outdated includes, replaces some includes by forward declarations.
...
This was SVN commit r25444.
2021-05-15 17:27:01 +00:00
3ebff376cc
Adds view bounds test for an ortho camera and removes commented code after 44f8d2c6f5
.
...
This was SVN commit r25441.
2021-05-15 13:47:48 +00:00
44f8d2c6f5
Fixes a bounding box projection to an incorrect camera causes the red water bug.
...
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D3905
This was SVN commit r25440.
2021-05-15 13:33:36 +00:00
34b1920e7b
Split ScriptRequest in its own header.
...
We often only need to include ScriptRequest.h and not the full
ScriptInterface.h
Differential Revision: https://code.wildfiregames.com/D3920
This was SVN commit r25366.
2021-05-03 16:07:26 +00:00
2fcab79e15
Moves terrain independent code for viewport bounds calculations to camera.
...
This was SVN commit r25355.
2021-05-01 16:59:42 +00:00
9107d6d8c7
Fixes unused CCamera argument in debug rendering in SilhouetteRenderer.
...
This was SVN commit r25352.
2021-05-01 12:13:48 +00:00
835c081ca4
Fix large slowdown in rendering on some configurations.
...
Usage of GL_VERTEX_ARRAY client state apparently prevented OpenGL from
using hardware acceleration on my computer (Macos 10.14 with an Intel
GPU).
It is unclear how many people would be affected by this issue, but on my
end it makes GLSL performance competitive with ARB again.
Reviewed By: vladislavbelov
Differential Revision: https://code.wildfiregames.com/D3900
This was SVN commit r25343.
2021-04-29 07:38:40 +00:00
b74d5bf0d8
Removes glColor* calls from scene rendering, colors are set explicitly by uniforms.
...
This was SVN commit r25330.
2021-04-27 19:35:36 +00:00
5b33d3a76c
Removes ShaderProgramPtr argument from DebugRenderer methods.
...
This was SVN commit r25329.
2021-04-27 19:23:37 +00:00
cd6a554198
Removes GL matrix stack usages from scene rendering.
...
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D3894
This was SVN commit r25328.
2021-04-27 18:43:49 +00:00
66fbc23f2c
De-singletonify CConfigDB, make hooks RAII.
...
CConfigDB is no longer a singleton, and its members are no longer
static.
This makes it possible to have several instances of it, useful for
testing of if we ever want to have different config profiles.
Also updates hooks to delete themselves on destruction, to fit a more
natural RAII pattern. Long-lived objects must take care to destroy hooks
before ConfigDB is reset.
Differential Revision: https://code.wildfiregames.com/D3866
This was SVN commit r25326.
2021-04-27 07:45:40 +00:00
2698cf8ba2
Fixes missing DrawCameraFrustum argument after 5e12424123
.
...
This was SVN commit r25324.
2021-04-26 21:21:13 +00:00
5e12424123
Removes glBegin from scene rendering, removes GL matrix stack dependency from scene rendering.
...
This was SVN commit r25323.
2021-04-26 21:11:35 +00:00
2086a66340
Adds circle drawing to DebugRenderer.
...
This was SVN commit r25315.
2021-04-25 21:55:19 +00:00
e90aaf6348
Adds line drawing to DebugRenderer.
...
This was SVN commit r25314.
2021-04-25 20:48:44 +00:00
5c51ce2e2f
Removes old ARB state.matrix usages.
...
This was SVN commit r25285.
2021-04-17 23:08:55 +00:00
769b0426a7
Removes unused debug render from ShadowMap.
...
This was SVN commit r25284.
2021-04-17 22:16:01 +00:00
924c6ce34e
Rework 7ee94f23df
...
Following comments by @vladislavbelov .
Differential Revision: https://code.wildfiregames.com/D3860
This was SVN commit r25278.
2021-04-16 16:01:30 +00:00
4a51012442
Adds line drawing to DebugRenderer.
...
This was SVN commit r25271.
2021-04-15 22:51:25 +00:00
389a5a4379
Removes low-level GL calls from graphics and geometrics primitives and adds DebugRenderer.
...
Tested By: Freagarach
Differential Revision: https://code.wildfiregames.com/D3857
This was SVN commit r25269.
2021-04-15 18:07:01 +00:00
7ee94f23df
Use type_identity to simplify Clamp usage.
...
Differential Revision: https://code.wildfiregames.com/D3859
This was SVN commit r25266.
2021-04-15 13:01:24 +00:00
092ccfec77
Removes unused header dependencies from CTimeManager.
...
This was SVN commit r25262.
2021-04-14 22:14:37 +00:00
715dca0701
Removes unused shadow settings forgotten in 12e2428495
, removes direct SkipSubmit access.
...
This was SVN commit r25261.
2021-04-14 20:25:05 +00:00
3759fc8a98
Allow empty actor files.
...
This allows empty actor files -> they map to a dummy object that renders
nothing.
The use case is automatically hiding objects at lower quality levels &
LOD settings.
Differential Revision: https://code.wildfiregames.com/D3819
This was SVN commit r25224.
2021-04-09 15:45:31 +00:00
76acc4e146
Implement quality levels for actors & corresponding setting.
...
An actor file, as referenced by the VisualActor, can now define
different actors for different "quality level" setting.
In this initial version, the quality is handled directly by the object
manager.
Actor format impact:
- '<qualitylevels>' may be used as the root node, containing actor nodes
as children.
- such actor nodes can refer to a file, or to an inline actor, or
simply be inlined.
- such actor nodes may have a 'quality' attribute, specifying the
maximum quality level of this actor. By default, 255 (the maximum) is
implied.
- The actor format remains valid, but 'groups', 'variants', 'material',
'castshadow' and 'float' can be given a [minquality, maxquality[ range
via XML attributes. Outside of this range, the XML node is ignored
(making it possible to define, in a single actor file, several quality
levels).
Quality is a 0-255 value, with:
- Range 0-99 intended for lower level-of-detail actors (billboards,
etc.)
- Range 100-200 the 'normal' range for models. 100 is "low", 150
"medium", and 200 "high".
- Range 201-255 used for higher quality actors that might be used for
e.g. cinematics.
The range is wide to make it easier to add intermediate levels in the
future and it seemed easier given that an integer value of some kind was
required anyways.
Engine impacts:
- A new CActorDef class is introduced, wrapping an art/actors XML file
and its different quality levels. ObjectBase remains the definition of a
given 'actor', now at a given quality level.
- CActorDef imposes a maximal # of quality level for a particular actor
definition (5 currently).
- CUnit is made to refer to an Actor Definition explicitly, not a
particular ObjectBase.
- As a minor optimisation, variation keys are calculated on
pointer-to-sets-of-selections, instead of raw sets-of-selections, as
this reduces copying.
- some refactoring, including better const-correctness and hotloading
support via std::shared_ptr.
Differential Revision: https://code.wildfiregames.com/D3787
This was SVN commit r25210.
2021-04-08 07:22:24 +00:00
c56c856ed5
Moves Frustum from graphics to maths to more related geometric primitives like bounding ones.
...
This was SVN commit r25159.
2021-03-29 17:28:13 +00:00
39c8e7f1a2
Cleanups ShadowMap, fixes possibly wrong depth format name for GLES.
...
This was SVN commit r25117.
2021-03-25 12:09:56 +00:00