Commit graph

25 commits

Author SHA1 Message Date
marauder2k7
8c7ddb7cf1 Ground work for node editor
Added ability to shader features and shaderGen to create multiple instances of the same feature with the option of calling a static creation function that can take arguments in the form of a struct.

FEATUREMGR now has createFeature to take advantage of this.

The node editor requires this ability as the same node could be used multiple times with different arguments so in its update function we will be calling

```FEATUREMGR->registerFeature(feature_type, (optional default constructor), createFunction);```

then adding it to the feature set with the required arguments to build the shader feature.
```FeatureSet->add(feature_type, index, ParameterStruct);```
2025-06-23 02:18:39 +01:00
AzaezelX
d82e8dbec4 clean up (some) shader variation redundencies
don't need to use macros for the shader textfile hashkeys
several no longer used GFXVertexFormats removed
2025-04-01 18:23:29 -05:00
marauder2k7
808e2f4200 Groundwork for other shaders
Adds the ground work for geometry shaders
Expands shaderData and gfxShader to allow for more shader types

note: when building a GFXShader in source you have to call setShaderStageFile with the shaderStage and the filepath for that stage.

Once we add compute shaders this will become more apparent as compute shaders are a stage of their own and do not require vertex and pixel files whereas other shaders sometimes do.
2024-03-06 13:26:39 +00:00
Johan Mattsson
e46e744dc7
Release memory 2023-03-04 21:59:17 +01:00
Areloch
8956559bfd Various misc. tweaks and fixes based on static code analysis to minimize/fix memleaks, crashes, or other performance impacting code. 2020-09-19 18:25:10 -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
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
Glenn Smith
79c34c68db Use strncpy instead of strcpy because again, buffer overflows 2018-03-06 02:35:33 -05:00
Areloch
74138342d1 Added support for uniforms, textures and samplers. 2017-10-09 17:15:57 -05:00
Areloch
dc5e502dec Initial implementation of Custom Shader Features. 2017-10-05 17:04:51 -05:00
Areloch
5220032bd4 Moves the initialization of the shader common path const var so it is set before we do an initial setup of some shadergen fields. 2017-09-11 23:48:49 -05:00
Areloch
f7688f8327 Removes the pointless getVariable call when doing the init on our smCommonShaderPath var. 2017-07-24 23:52:11 -05:00
Areloch
8c807485b1 Reworks the $Core::commonShaderPath variable usage to be a static variable in ShaderGen for efficiency(only one getVariable when shadergen is initialized), as well as implements the ability to set a default value, and ensures that it tries to set a path even if the pref variable is missing which is important for ported projects from older builds. 2017-07-24 00:40:27 -05:00
Areloch
ed14b6fced Removes bits of code and includes that are based on old 360, xbox and PS3 flags that are no longer needed. 2017-04-08 20:30:57 -05:00
RexTimmy
7281c2ed18 64bit shadergen hash key support. 2016-09-28 11:13:55 +10: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
rextimmy
41e5caf22b Direct3D11 Engine/source changes 2016-03-20 21:52:11 +10:00
Azaezel
aa6d078c40 cuts the shadergen hashkey generator down from a 64 bit to a 32 bit key.
(MacOSX 32 bit compatibilty errors. was generating 2k+ shader files. may also address  https://github.com/GarageGames/Torque3D/issues/1219)
2015-09-30 22:51:59 -05:00
LuisAntonRebollo
82315a9960 Merge pull request #933 from BeamNG/shadergen_glsl
Changes on ShaderGen for generate GLSL shaders.
2014-11-30 02:22:58 +01:00
LuisAntonRebollo
61d3e52ad1 Changes on ShaderGen for generate GLSL shaders. 2014-11-08 18:40:33 +01:00
LuisAntonRebollo
1ac8fab884 Changes for get necesary sampler names for OpenGL shaders. 2014-11-08 18:31:14 +01:00
cpusci
4c35fd37af Simple pass over the codebase to standardize the platform types. 2013-08-04 16:26:01 -05:00
DavidWyand-GG
7dbfe6994d Engine directory for ticket #1 2012-09-19 11:15:01 -04:00