Commit graph

51 commits

Author SHA1 Message Date
AzaezelX 070a9845a2 preliminary glowmap+glowmul feature augmentation math 2019-10-30 18:29:11 -05:00
AzaezelX 0f5ba17126 needed mft_pbrconfigmap or _convifgvars and _matinfocflags set to default=true to trip the forward lit side,
shifted the mft_skybox test on down below the checks for the presence of those features to be inserted, and removed them on out if a skybox.
2019-10-29 22:11:59 -05:00
AzaezelX 8fac88dadc more misc cleanup, including cutting down on sampling the pbrconfigmap by filling that out first, and drawing the smooth and metal vars from it, and filling out an ao var in case folks wanna use that later, as well as a bit more doubled up functionality prune-down. still tracing why forward lit seems to have lost the map config feature 2019-10-23 20:38:13 -05:00
AzaezelX ad216abc02 cleans up a few more spots of various variables that ammount to the "PBRConfig" in the end, as well as a MFT_isDeferred test for determining if that's stored off as a temp-val or in the gbuffer. though seem to have forgotten a catch, as it's not finding the MFT_PBRConfigMap feature and falling back to recreation come time to process MFT_ReflectionProbes 2019-10-23 14:59:29 -05:00
AzaezelX bfccfca0ce more conversionwork from specular entries to pbrconfig ones, adds backend glowmul and glowmap var tracking, as well as pbrconfigmap composite slip-in for the glowmap (sans shaderfeatures just yet). seems to have busted forward lit application though... 2019-10-22 15:11:39 -05:00
AzaezelX 65cbf49c4a backend specularMap to PBRConfigMap alts.
left:
     addField( "specularMap", TypeImageFilename, Offset(mPBRConfigMapFilename, Material), MAX_STAGES,
scripthook till last since that *will* break all current materials.
2019-10-16 15:51:02 -05:00
AzaezelX 022b87cac2 from user Ewyncat: adds invcameratrans, cameratoscrren, and screentocamera postfx and shader matrix interfaces.
also a bit of backend work to normalize those later once we've proof-of-concepted the calcs
2019-09-06 14:25:17 -05:00
Areloch af77444ec9 Merge branch 'MatInstanceViewer' of https://github.com/Areloch/Torque3D into Preview4_0
Fixed up forward IBL
Reimplemented old forward light shader code as a baseline so it can be updated to new PBR math
2019-06-27 00:36:56 -05:00
Areloch dd3422b5a2 Added ability to pass ints to post effect shader consts
Reorg'd probe init to flow better and be more robust on load
Cleaned up various parts of the probe render manager to be more stable
Fixed issue with crash on release due to numProbe in loops being 0
Updated glsl probe array shader
Beginning of rework of editor settings
Beginning of conversion of asset import config to similar system as editor settings
2019-06-13 00:37:12 -05:00
AzaezelX afa52850c3 Merge branch 'CustomShaderFeaturesPR' of https://github.com/Areloch/Torque3D into alpha40Macwork
# Conflicts:
#	Engine/source/materials/materialDefinition.cpp
#	Engine/source/materials/processedFFMaterial.h
#	Engine/source/materials/processedShaderMaterial.cpp
#	Engine/source/renderInstance/renderBinManager.cpp
#	Engine/source/renderInstance/renderGlowMgr.cpp
#	Engine/source/renderInstance/renderMeshMgr.cpp
#	Engine/source/renderInstance/renderPassManager.h
#	Engine/source/renderInstance/renderTranslucentMgr.cpp
#	Engine/source/shaderGen/customShaderFeature.cpp
#	Engine/source/shaderGen/customShaderFeature.h
2019-05-22 23:36:15 -05:00
Areloch ebb51bb178 Catch the template files up and add the improved convex editor bits. 2019-05-19 21:30:45 -05:00
Areloch af14de2bb7 Implements a Material Instance viewer to the material editor to see a feature-filtered dump of the generated shaders for a given material. 2019-05-17 01:48:45 -05:00
Areloch 529558f671 Initial implementation of Custom Shader Features 2019-05-17 01:20:19 -05:00
Areloch 3697737498 Merge branch 'ModernEditorLayoutWIP' of https://github.com/Areloch/Torque3D into development 2019-05-13 00:28:23 -05:00
Areloch c283295f22 Merge branch 'CustomShaderFeatures' of https://github.com/Areloch/Torque3D into development 2019-05-11 21:53:08 -05:00
AzaezelX 57ee1882fa strip out unused pixspecular to cut down on sources of confusion 2019-05-05 20:10:14 -05:00
Areloch 2abdef7459 Collapse the ProbeManager into RenderProbeMgr to simplify the probe management/rendering behavior(as the game sim doesn't require simple access to probe data, unlike lights) 2019-01-26 02:05:18 -06:00
Tim Barnes 9a39afa0eb reflection probe updates 2018-10-28 20:42:26 +10:00
Areloch b19a4b22c8 Implementation of reflection and skylight probes.
Moves lighting math to the diffuse/specular two-channel logic.
2018-09-16 22:15:07 -05:00
Areloch b4a1d18f42 Core implementation of Physical Based Rendering. 2018-09-15 20:19:57 -05:00
Azaezel 33ebe34440 more gfx shadowvar cleanups 2018-03-13 21:25:45 -05:00
Areloch 39f86d8c30 asdasd 2017-10-26 17:06:27 -05:00
Areloch 9a5700addc Handler binding on a scene level working 2017-10-19 15:34:57 -05:00
Areloch 7219899287 Working on shader const binding 2017-10-17 08:48:31 -05:00
Areloch 70c154c7d3 Implement of the shader consts binding. 2017-10-10 15:54:54 -05:00
Areloch dc5e502dec Initial implementation of Custom Shader Features. 2017-10-05 17:04:51 -05:00
Areloch 25686ed4be Implementation of sRGB image support. Overhauls the linearization setup to utilize the sRGB image types, as well as refactors the use of ColorF and ColorI to be properly internally consistent. ColorIs are used only for front-facing/editing/UI settings, and ColorFs, now renamed to LinearColorF to reduce confusion of purpose, are used for color info in the engine itself. This avoids confusing and expensive conversions back and forth between types and avoids botches with linearity. Majority work done by @rextimmy 2017-06-23 11:36:20 -05:00
Areloch af8fbf0e3a Goes and replaces the references/names that use Prepass to be Deferred, since we're actually using deferred. 2017-04-11 00:23:14 -05:00
Anis 5d38357785 Merge pull request #1636 from Azaezel/TranslucentTargetTweak
puts forward-lit #targetname assignment of faux diffuse maps back
2016-08-21 20:10:59 +02:00
James Urquhart 3496c549b5 Hardware Skinning Support
- Supports GL, D3D9 & D3D11
- Extends vertex formats & shadergen to support blend indices and weights
- Adds basic support for using 4x3 matrices for shader constants
- Supports software fallback
2016-08-21 01:43:30 +01:00
Azaezel 702e63cb0c puts forward-lit #targetname assignment of faux diffuse maps back 2016-06-07 13:54:30 -05:00
Azaezel 00cc949011 reimplements a form of subsurface scattering 2016-04-15 00:20:55 -05:00
Areloch 6a40b8bb84 Merge pull request #1559 from rextimmy/dx11_clean
Direct3D11 Support
2016-03-29 00:51:23 -05:00
rextimmy 41e5caf22b Direct3D11 Engine/source changes 2016-03-20 21:52:11 +10:00
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
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 95ab3a33a5 Merge pull request #719 from rextimmy/dxtnm-parallax-fix
Fix to allow parallax mapping with dxtnm textures via the red channel.
2015-08-27 23:59:20 -05:00
Azaezel c6cdfafe4e cleaned up variant of https://github.com/GarageGames/Torque3D/pull/768 alterations: opengl support, in-shader bug-reporting, direction vector fit to material slider-bar. 2014-12-21 14:07:42 -06:00
LuisAntonRebollo 03ffa1ddd3 Merge pull request #925 from BeamNG/shaderdata_samplernames
Add sampler names to ShaderData
2014-11-30 02:21:30 +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
LuisAntonRebollo 1ac8fab884 Changes for get necesary sampler names for OpenGL shaders. 2014-11-08 18:31:14 +01:00
rextimmy 3c56bf3a56 Fix to allow parallax mapping with dxtnm textures via the red channel. 2014-07-03 17:56:47 +10:00
Azaezel ebbd8a2e02 Instancing clones the results of a previously used material to it's next instance. As such, it and Dynamic Cube Mapping are mutually exclusive features. 2014-06-20 14:45:12 -05:00
LuisAntonRebollo 33742599b3 Use GFXDevice::setupGenericShaders for support non Fixed Fuction Pipelines.
OpenGL and DirectX11 not support FFP, and GFDevice::disableShaders has not the necessary information to decide the shader to be used.

GFDevice::SetupGenericShaders is used instead of GFDevice::disableShaders.

GFDevice::disableShaders will be deprecated on T3D 4.0
2014-04-13 17:57:40 +02:00
Daniel Buckmaster 87d9e245b7 Merge remote-tracking branch 'smally/platform_type_consistency' into platform-type-consistency
Conflicts:
	Engine/source/platform/platformCPUCount.cpp
2014-04-04 13:43:25 +11:00
DavidWyand-GG 17113d3ba5 Blinn-Phong Specular Changes
Based on the work done here:
http://www.garagegames.com/community/blogs/view/21032
2013-10-29 15:10:23 -04:00
SilentMike 77bd934167 Merge pull request #424 from tdev/lock-checking
Added checks for valid pointers after locking
2013-08-11 22:14:16 -07:00
cpusci 7a8f46b19f Update for float, double and unsigned char, unsigned short, short, etc. char was left alone: read why here http://msdn.microsoft.com/en-us/library/cc953fe1.aspx 2013-08-04 16:58:59 -05:00
Thomas Fischer 53abbe066d added checks for valid pointers after locking 2013-06-30 17:51:38 +02:00
Thomas Fischer 688e54cb43 fixed pointer problems and guard in material files 2013-06-30 17:47:43 +02:00