Commit graph

70 commits

Author SHA1 Message Date
Azaezel
ed264e4e12 from @rextimmy automatically adds a sky feature to skies. (render sorting and orientation. previously required setting in script.) 2016-03-16 18:10:07 -05:00
Areloch
908be4818f Merge pull request #1519 from Azaezel/deferredShading
Deferred shading
2016-02-27 15:08:20 -06:00
Anis A. Hireche
10cb6ab9c4 Merge remote-tracking branch 'refs/remotes/origin/development' into pr/1153 2016-02-26 14:39:38 +01:00
Azaezel
8c5810adad The final step (barring any overlooked missing bits, requested refactors, and of course, rolling in dependencies already submitted as PRs) consists of:
renderPrePassMgr.cpp related:
A) shifting .addFeature( MFT_XYZ); calls from ProcessedShaderMaterial::_determineFeatures to ProcessedPrePassMaterial::_determineFeatures
B) mimicking the "// set the XXX if different" entries from RenderMeshMgr::render in RenderPrePassMgr::render
C) fleshing out ProcessedPrePassMaterial::getNumStages() so that it shares a 1:1 correlation with ProcessedShaderMaterial::getNumStages()
D) causing inline void Swizzle<T, mapLength>::ToBuffer( void *destination, const void *source, const dsize_t size )  to silently fail rather than fatally assert if a source or destination buffer is not yet ready to be filled. (support for #customTarget scripted render targets)

Reflections:
A) removing reflectRenderState.disableAdvancedLightingBins(true); entries. this would otherwise early out from prepass and provide no color data whatsoever.
B) removing the fd.features.addFeature( MFT_ForwardShading ); entry forcing all materials to be forward lit when reflected.
C) 2 things best described bluntly as working hacks:
C1) when reflected, a scattersky is rotated PI along it's z then x axis in order to draw properly.
C2) along similar lines, in terraincellmaterial, we shut off culling if it's a prepass material.

Skies: scattersky is given a pair of rotations for reflection purposes, all sky objects are given a z value for depth testing.
2016-02-16 02:50:49 -06:00
Areloch
21be97d206 Missed a few files. 2015-12-01 00:49:37 -06:00
Azaezel
b6bd8c863c removes StaticObjectType flag from water objects.
https://github.com/GarageGames/Torque3D/issues/1458
2015-11-20 10:52:57 -06:00
Areloch
92aa785bb2 Merge pull request #1442 from Azaezel/shadow_caching
This all seems to work pretty well.
2015-11-12 12:49:58 -06:00
Azaezel
f4d40bf1b0 hooks meshroads up to the material system for castrays (at a minimum, sound playback) 2015-11-05 10:18:17 -06:00
Areloch
165cdb64e9 Merge pull request #1322 from Areloch/String_isEmpty_Convert
Replace uses of dStrIsEmpty with new String::isEmpty
2015-10-31 23:40:13 -05:00
rextimmy
27720cb786 Corrected SkyBox vertex format 2015-10-26 21:08:12 +10:00
Areloch
8253bcc343 Merge pull request #1446 from rextimmy/water_vertex_format_fix
Looks to work fine. Thanks!
2015-10-24 02:12:46 -05:00
rextimmy
9c6ff1775b Removed unused vertex colors from GFXWaterVertex 2015-10-22 21:54:35 +10:00
rextimmy
af9ad17ad6 Replaced ScatterSkyVertex declaration with default GFXVertexP in ScatterSky. 2015-10-19 21:15:59 +10:00
rextimmy
246785a8bf Removed unused vertex formats from ScatterSky 2015-10-16 21:30:39 +10:00
Azaezel
2753f562e8 shadow caching
SPECIAL NOTE: highly suggest https://github.com/GarageGames/Torque3D/pull/1441 or a variation thereof to prevent debug spew and false-postives for occlusion results.

With significant research, development and prototyping assistance from both @andr3wmac (shaders and partial hook work), and @LuisAntonRebollo (additional culling)

System operates as follows:
1) materials are given an additional castDynamicShadows boolean entry. (Default at time of writing is true by request. Personal usage at time of writing defaults to false. value is default-initialized in materialDefinition.cpp. script/gui exposed)
2) lights are given a staticRefreshFreq and dynamicRefreshFreq (in milliseconds). script/gui exposed
3) materials are (effectively) sorted into dynamic and static shadowmap render lists based on flag. (see shadowMapPass.cpp)
4) initial shadowmaps are generated for each light and 'list'.
5) as each refreshFreq times out, the relevant shadowmap for a given light is refreshed.

Special notes:
dynamicRefreshFreq for all lights is set to a (script exposed) 8MS refresh timer.
StaticRefreshFreq for the lions share of lights defaults to 250 MS (1/4 of a second)
scattersky's embedded light, which is intended to operate in a mobile manner, defaults to 8
to reiterate, these are all customizable per-light via script/inspector gui in the case of alternate project needs.
2015-10-13 18:12:19 -05:00
Daniel Buckmaster
4f2f1ca4e1 Merge pull request #1356 from Areloch/PVS_Cleanup_813
Convert un-modified function arguments to const references.
2015-07-20 22:55:22 +10:00
Areloch
11398bb04e Issue found with PVS-Studio:
A lot of instances where some function args are not actually modified in any way, meaning that it is better for performance to convert them into const references. This prevents an additional copy, which can help performance.
2015-07-16 22:02:18 -05:00
Areloch
2002d74b78 Issue found with PVS-Studio:
Many instances of a function or expression being used repeatedly, which can lower performance.

Fixed it in these cases by creating on local var, reference or pointer that's used instead.
2015-07-13 22:51:17 -05:00
Areloch
6e8fa7215a Moves from using dStrIsEmpty to the new String::isEmpty static function. Keeps things cleaner, consistent, and works with intellisense. 2015-06-06 17:40:49 -05:00
Daniel Buckmaster
497a15cfd0 Merge pull request #1214 from bpay/cppcheck-cleaning
Fix some issues flagged by cppcheck
2015-03-01 18:27:40 +11:00
Ben Payne
f67a0353d0 Review fixes 2015-02-23 14:57:37 -05:00
Ben Payne
0ffd7f5620 Fix member vars left uninitialized in constructors 2015-02-20 18:41:51 -05:00
John3
50e2221a40 little typo 2015-02-15 16:15:45 -06:00
Ben Payne
c19a70814c Tidy up and fix the various Assert macros
Rephrase the macros so that they can be used in expressions, and
properly require semicolons. And add the semicolons where missing.
2015-02-02 18:37:48 -05:00
Daniel Buckmaster
bd437cda1c Merge branch 'development' into walkabout
Conflicts:
	Engine/source/T3D/aiPlayer.cpp
2015-01-29 21:38:20 +11:00
Daniel Buckmaster
014b566014 Merge remote-tracking branch 'gg/development-3.6' into development
Conflicts:
	Engine/source/T3D/gameFunctions.cpp
2015-01-29 21:17:38 +11:00
Luis Anton Rebollo
6492028bb2 Merge pull request #1035 from bpay/memfixes
Memfixes
2015-01-25 13:42:32 +01:00
LuisAntonRebollo
4e9034854d Linux implementation. Include changes for gcc x64. 2015-01-24 22:08:26 +01:00
Daniel Buckmaster
7ab6731f51 Merge branch 'development' into walkabout
Conflicts:
	Templates/Empty/game/tools/worldEditor/scripts/editors/creator.ed.cs
	Templates/Full/game/tools/worldEditor/scripts/editors/creator.ed.cs
2015-01-02 14:45:20 +11:00
Daniel Buckmaster
93b0179019 Merge pull request #1002 from Winterleaf/Fix-ScatterSky-Zindex
Z Offset for Scattersky to fix the rendering issue at high altitudes.
2015-01-02 13:04:24 +11:00
Daniel Buckmaster
ae284a89ec Merge branch 'development' into defineconsolemethod
Conflicts:
	Engine/source/materials/materialDefinition.cpp
2014-12-26 13:22:16 +11:00
LuisAntonRebollo
7453610563 Fix persistent underwater effect. 2014-12-23 22:32:21 +01:00
Daniel Buckmaster
3ab048c5b0 Fixes after feedback from Luis.
* Made use of dStrIsEmpty in more locations (and fixed it :P)
 * Removed commented-out code
 * Corrected default params
 * Fixed some console warning formats
 * Removed tabs
 * Corrected setExtent API
2014-12-23 18:48:02 +11:00
Daniel Buckmaster
9396ae7176 Merge remote-tracking branch 'Winterleaf/Development-Console' into defineconsolemethod
Conflicts:
	Engine/source/T3D/missionMarker.cpp
2014-12-21 21:23:55 +11:00
Ben Payne
68b5e7b517 Fix more use-after-delete errors 2014-12-11 19:09:01 -05:00
LuisAntonRebollo
190f68b998 Fix SkatterSky flare occlusion. 2014-12-09 23:34:21 +11:00
Vincent Gee
8c5d5f9f06 more spacing 2014-12-01 17:22:35 -05:00
Vincent Gee
e71c64e564 fixed spacing 2014-12-01 17:21:17 -05:00
Vincent Gee
c00bca8ba0 Z Offset for Scattersky to fix the rendering issue at high altitudes. 2014-12-01 13:06:27 -05:00
LuisAntonRebollo
8af6a16e3a Merge pull request #618 from BeamNG/clouds_shader_sampler_reg
Use shader data for get sampler register in CloudLayer and BasicClouds.
2014-11-30 02:20:31 +01:00
LuisAntonRebollo
1c95ce21d6 Merge pull request #608 from BeamNG/use_gfxdevice_setupgenericshaders
Use GFXDevice::setupGenericShaders for support non Fixed Fuction Pipelines.
2014-11-30 02:20:00 +01:00
Daniel Buckmaster
f4c940f4fe Added basic Walkabout with #define renamed and no editor. 2014-11-28 19:42:10 +11:00
Daniel Buckmaster
22b8fe894f Implemented physics collision for MeshRoad.
According to deepscratch's post in the forum:
http://www.garagegames.com/community/forums/viewthread/130181/1#comment-826897
2014-11-22 18:25:58 +11:00
Thomas Fischer
469fe3afa7 Merge pull request #758 from eightyeight/meshroad_physics_collision
Implemented physics collision for MeshRoad
2014-11-17 17:45:00 +01:00
Vincent Gee
acb192e2a5 Replaced a ton of ConsoleMethods with the DefineConsoleMethod Macro. 2014-11-03 22:42:51 -05:00
Daniel Buckmaster
b507dc9555 Merge branch 'master' into console-func-refactor
Conflicts:
	Engine/source/app/net/net.cpp
	Engine/source/console/astNodes.cpp
	Engine/source/console/compiledEval.cpp
	Engine/source/console/console.h
	Engine/source/console/consoleInternal.h
	Engine/source/console/engineAPI.h
2014-10-14 15:09:11 +11:00
Areloch
eeb97ffa4c Merge pull request #616 from BeamNG/water_object_use_shader_param
Fix WaterObject TODO: Retrieve sampler numbers from parameter handles, see r22631.
2014-09-29 22:52:43 -05:00
Daniel Buckmaster
c328cb53b1 Implemented physics collision for MeshRoad.
According to deepscratch's post in the forum:
http://www.garagegames.com/community/forums/viewthread/130181/1#comment-826897
2014-08-18 08:19:45 +10:00
LuisAntonRebollo
ada24b3d8c Fix WaterObject loose reflection bug. 2014-08-03 12:56:11 +02:00
bank
f3fc84738b Use fixed buffer size var when allocating return buffer from console.
Conflicts:
	Engine/source/T3D/missionArea.cpp
	Engine/source/gui/editor/guiDebugger.cpp
2014-06-11 13:09:55 +04:00