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