wraitii
814cdd9524
Tie tangent generation with preferGLSL setting for convenience since that setting was not really useful. Fixes #2506 . Patch by fabio.
...
This was SVN commit r17325.
2015-11-29 15:44:22 +00:00
leper
432df9b38e
Use two range based for loops to fix two TODOs.
...
This was SVN commit r17303.
2015-11-28 08:27:42 +00:00
wraitii
9357cce112
Math is hard
...
This was SVN commit r17242.
2015-11-12 17:32:33 +00:00
wraitii
52443dfe80
Fix an erroneous ENSURE in PatchRData and move it where it will be very slightly clearer. Fixes #3598
...
This was SVN commit r17240.
2015-11-12 17:22:44 +00:00
leper
558d43bac5
Replace some functor structs with lambdas, closures or range-based fors.
...
This was SVN commit r16923.
2015-08-19 03:33:04 +00:00
leper
8bfe16cac8
Use in-place construction.
...
This was SVN commit r16894.
2015-07-29 23:44:17 +00:00
leper
c5eb9b7bb7
Range-based for for VfsPath loops.
...
This was SVN commit r16893.
2015-07-29 23:44:12 +00:00
leper
da48c8c26f
Some const refs and one const function.
...
This was SVN commit r16882.
2015-07-27 01:08:25 +00:00
Itms
6581796103
New long-range pathfinder.
...
Based on Philip's work located at
http://git.wildfiregames.com/gitweb/?p=0ad.git;a=shortlog;h=refs/heads/projects/philip/pathfinder
Includes code by wraitii, sanderd17 and kanetaka.
An updated version of docs/pathfinder.pdf describing the changes in
detail will be committed ASAP.
Running update-workspaces is needed after this change.
Fixes #1756 .
Fixes #930 , #1259 , #2908 , #2960 , #3097
Refs #1200 , #1914 , #1942 , #2568 , #2132 , #2563
This was SVN commit r16751.
2015-06-12 18:58:24 +00:00
sanderd17
14bfbbf9d4
Allow sprites to have color multiplication, which allows player-colored bars. Patch by Vladislav. Fixes #3233
...
This was SVN commit r16715.
2015-06-04 12:16:52 +00:00
leper
e638af5422
Clean up some unused variables and assignments.
...
This was SVN commit r16684.
2015-05-26 15:40:07 +00:00
sanderd17
0a44d24c96
Flip the overlay sprites face around to show the non-mirrored side. Now sprites are rendered correctly (which should have happened in d4794b5474).
...
This was SVN commit r16617.
2015-05-03 15:55:17 +00:00
historic_bruno
b6bcfdbb2e
Fixes missing newlines in debug_printf, patch by elexis, fixes #3056
...
This was SVN commit r16534.
2015-04-12 19:38:31 +00:00
historic_bruno
b1c4e29ac8
Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029 .
...
NOTE: requires update-workspaces and may require correction of some
modded actors/scenarios
This was SVN commit r16438.
2015-03-15 23:59:48 +00:00
Itms
caf89fa04e
Rename ps/Overlay(.h|.cpp) to ps/Shapes(.h|.cpp), fixes a TODO located in graphics/Overlay.h.
...
The file name did not match the content.
Also little cleanup of some unnecessary includes.
This was SVN commit r16431.
2015-03-15 18:06:32 +00:00
wraitii
aab15123f1
I hate myself.
...
This was SVN commit r16389.
2015-02-28 14:11:21 +00:00
wraitii
2d7d5b446d
Fix Atlas so that changing water type will actually change water type.
...
Fix the water shader so that object reflections are more visible. Looks
better.
This was SVN commit r16388.
2015-02-28 13:50:52 +00:00
Ykkrosh
21f3be7df5
Always select a texture unit before calling glEnable(GL_TEXTURE_2D).
...
Without this, some code will enable (and set other parameters for)
whatever random texture unit the previous stage had selected. This can
break any fixed-function rendering, since either it will not have
enabled the correct texture unit, or its correct setup will be
interfered with by another texture unit that shouldn't be enabled. (This
doesn't affect ARB/GLSL shader rendering, since they don't care about
the enabled state, but the GUI (and some debug things) are still FFP in
the default ARB mode.)
Fixes #2833 (in which the fancy water shader selected texture units 5/6,
which then got enabled, and remained enabled forever).
This was SVN commit r16372.
2015-02-21 21:40:10 +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
e06a7b37d8
Convert debug_printf to take UTF-8 strings instead of wchar_t.
...
This fixes the problem where passing a non-ASCII string to
debug_printf(L"%hs", s) caused vswprintf_s to fail on Linux (because it
doesn't know what encoding the char* is meant to have). Now debug
messages will remain as UTF-8 until they reach the OS.
Fixes #3021 .
This was SVN commit r16332.
2015-02-14 01:45:13 +00:00
wraitii
143e199d45
Add a new function to update the water renderer textures when resizing the renderer window. Patch by pendingchaos.
...
This fixes #2692 though the same issue might appear in some other cases
(possibly Atlas) and those will have to be checked.
This was SVN commit r16315.
2015-02-10 19:41:29 +00:00
Ykkrosh
bb99c42aa5
Increase max VBO size back to 4MB.
...
Some meshes (e.g. pers_gardens_struct with gentangents enabled) have
>32K vertexes, and won't fit in a 2MB VBO. 0ef6c7555e had reduced them
from 4MB to 2MB. So just make the VBOs bigger again, and try not to
worry about the waste of memory.
Fixes #3026 , #3042 .
This was SVN commit r16309.
2015-02-08 23:39:02 +00:00
Ykkrosh
0ef6c7555e
Optimise VBO updates.
...
Some drivers (at least the Intel drivers on Windows) are slow at
incrementally updating a VBO with hundreds of calls to glBufferSubData
every frame. Performance is significantly better if you use
glBufferData(NULL) to tell it to discard all the previous contents, and
then re-upload all the data at once.
Update CVertexBuffer so that GL_DYNAMIC_DRAW/GL_STREAM_DRAW buffers are
handled with the new mechanism. This requires the caller to hold onto
the backing store so it can be re-uploaded when necessary, and needs a
bit more signalling to indicate exactly what needs uploading.
I see an improvement from roughly 60 to 75 fps on Intel HD Graphics
3000, Windows, 1024x768, Siwa Oasis.
This was SVN commit r16241.
2015-01-28 00:48:00 +00:00
Ykkrosh
a8499e89eb
Pad vertex data to power-of-two sizes.
...
This reduces the total number of different vertex sizes in the system,
allowing more data to share a single CVertexBuffer, therefore reducing
the amount of wasted space in each CVertexBuffer and reducing VRAM
usage.
This was SVN commit r16230.
2015-01-25 15:38:51 +00:00
leper
4c1903500b
Switch to std::shared_ptr and std::weak_ptr.
...
This was SVN commit r16227.
2015-01-25 03:10:58 +00:00
Ykkrosh
f350a24c73
Disable "assignment operator could not be generated" warning globally on Windows, since it's never useful.
...
This was SVN commit r16192.
2015-01-22 21:09:33 +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
38a8e2e0d6
Automatically convert most path.string().c_str() to path.string8()
...
Done with:
ag -l 'LOG.*string\(\).c_str\(\)' source | xargs perl -pi -e'1 while
s/(LOG.*string)\(\)\.c_str\(\)/${1}8()/g'
This was SVN commit r16186.
2015-01-22 20:35:17 +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
7a48606471
GLES compatibility for particle shader
...
This needs to use the model-view matrix, not model-view-projection (the
transform uniform), else the axes won't be unit vectors and the particle
sizes will be wrong. But GLES doesn't have the pre-defined matrices, so
pass it in explicitly.
This was SVN commit r16165.
2015-01-19 21:44:53 +00:00
leper
9407dbe45e
Remove useless parameter from CFG_GET_VALUE.
...
This was SVN commit r15984.
2014-11-17 23:29:49 +00:00
historic_bruno
199eb46d86
Fixes GLES build
...
This was SVN commit r15914.
2014-10-29 02:36:42 +00:00
historic_bruno
7f1fd01174
Moves some includes out of Renderer.h to slightly optimize compilation
...
This was SVN commit r15912.
2014-10-28 03:57:22 +00:00
historic_bruno
e3e86e2a29
Fixes init of post processing effects, so they can be cleanly enabled/disabled at runtime. Fixes #2890 , refs #2672 , #2893 .
...
Updates descriptions on options screen and fixes comment in default.cfg
(smoothlos does not require preferglsl)
This was SVN commit r15905.
2014-10-27 00:53:31 +00:00
Itms
5d9d9a67bf
Allow enabling the post processing filters during a game.
...
Includes numerous code updates, also updated the copyright for
cd5de73f3a .
Patch by dan@sstrev.com , fixes #2672 .
This was SVN commit r15843.
2014-10-05 20:50:10 +00:00
historic_bruno
ea2db5386b
Fixes water rendering and crashes on GPUs without FBO support, fixes #2667
...
This was SVN commit r15814.
2014-09-27 01:32:03 +00:00
historic_bruno
fee304d789
Fixes crash from 41b98a6f12 where a VBChunk* was released but not set to NULL
...
This was SVN commit r15721.
2014-09-09 04:13:50 +00:00
historic_bruno
41b98a6f12
Fixes incorrect reuse of a member variable in WaterManager, caused a crash when starting a new map in Atlas after loading a water map. Fixes #2784 .
...
Fixes likely mem leaks from not cleaning up vertex buffer allocations
This was SVN commit r15715.
2014-09-07 23:49:24 +00:00
wraitii
a4df483f60
Forgot to make a variable unused.
...
This was SVN commit r15631.
2014-08-13 14:52:38 +00:00
wraitii
0b385384aa
Fix terrain overlay rendering after water.
...
This was SVN commit r15628.
2014-08-12 15:58:03 +00:00
wraitii
403b3b68af
Fix some errors in WaterManager.
...
This was SVN commit r15620.
2014-08-06 15:24:38 +00:00
leper
5ae040ea54
Fix non-PCH build.
...
This was SVN commit r15618.
2014-08-06 13:23:02 +00:00
wraitii
4028cd425e
Actually fix bugs on ATI cards. Switch reflection and refractions to use POT textures in an attempt to improve compatibility.
...
This was SVN commit r15598.
2014-08-02 12:54:45 +00:00
wraitii
e50147fd96
Metaprogramming 9ce51f4357.
...
Change something on water shaders to see if it works better on ATI
cards.
This was SVN commit r15594.
2014-08-01 10:15:29 +00:00
wraitii
9ce51f4357
Commit coastal waves when activating fancy effects, and incidentally completely change how this effect work. Refs #48 .
...
This was SVN commit r15576.
2014-07-28 10:14:00 +00:00
JoshuaJB
17634d7507
Move the minimap to only use the shader pipeline. Should make it OpenGL ES compatible (untested).
...
This was SVN commit r15533.
2014-07-14 17:15:22 +00:00
leper
8b45f453e5
Fix non-PCH build.
...
This was SVN commit r15498.
2014-07-06 16:35:41 +00:00
wraitii
5571f7a7f9
Fix "Wind Angle" parameter not working properly. Add a precomputed "wind strength" variable so that waves look smaller behind islands. Some tweaks. Refs #48 as usual.
...
This was SVN commit r15492.
2014-07-05 10:20:30 +00:00
wraitii
9d4665248b
Check water FBOs creation correctly to detect some errors. Use two depth textures since I have a hunch the issues people encounter are caused by my using only one.
...
This was SVN commit r15488.
2014-07-04 10:14:35 +00:00
wraitii
991d5bbd63
Fix random maps for my water changes. Fix the replay mode after I had broken it. Fix an occasional crash (that might have crashed Atlas, need someone to check).
...
Improve debugging slightly in case of framebuffer errors. Fix a few
style issues.
This was SVN commit r15486.
2014-07-04 09:03:21 +00:00