Commit graph

235 commits

Author SHA1 Message Date
AzaezelX 5ffa3b81f1 dial back nullPtr usage
while it still remains a good idea to port as many NULL compares and assignments over to nullPtr as feasable, we do still need to sort out how to better support scripted empty, false, and zero assigns for things like objectIDs.

this means we'll need to both fully convert the backend of the parser to support that kind of thing, but also alter most if not all exisiting NULLs. up to and including things like SAFE_DELETE. while that's certainly feasable, given there's aproximatel 400 nullptr assigns/checks prior to this commit, and roughly 1800 of the prior, if it terminates in a script call and not an aip one direct, we'll be dialing that back until such time as fork fully fopcused on converting and resolving any lingering mismatches is completed.
2025-12-29 17:45:09 -06:00
AzaezelX c0ce94f32a add material tileScale
by request
2025-12-25 19:52:06 -06:00
marauder2k7 3aef90a6bc Update GFXTextureManager and GBitmap
GBitmap Changes:
Added all other formats to gbitmap that we support
gbitmap now supports cubemaps
added converters for all these other formats
added stb_image_resize for extrudemips so we can extrude mipmaps for all other formats

GFXTextureManager
Can now directly make cubemaps and texture arrays based on the GFXTextureProfile
API implementations for all functions that cubemaps and arrays needed
2025-12-22 10:29:01 +00:00
JeffR f3cad0d77e Converts the ad-hoc design of the Material Editor to utilize the same inspector interface as most everything else does.
- Overhauls the material editor to simplify and streamline the logic behind it since the inspector does most of the work
- Tweak a few order positions of materialdefinition fields to work better
- Sets AO, Rough and Metal channel fields to use an enum type for human readability
- Updates the MaterialPreview gui control to work with assetIds
- MatEd now supports setting of parent material to inherit from
- Creating a new material now can prompt selecting an existing material to inherit from
- Can now edit the mapTo value of a material in the matEd
- New standalone Composite Texture Editor window for convering AO, Roughness and Metalness maps in a material to an ORMMap
- Can also star the creation of a composite texture via RMB context menu in AB on an image asset
- Moved logic of CubemapEditor from MatEd to it's own stuff
- Made ImageAsset fields now be more clear when they have nothing assigned, and also have a clear button to empty the field's value so it's consistent across the board
- Reorganized the layout of the gui and image files for the MatEd to be easier to navigate
- MaterialEditor now overlays the EditorGUI instead of being forcefully embedded in it, allowing easy editing of the MatEd Gui via the Gui editor
2025-08-03 12:03:02 -05:00
AzaezelX 8bd145d54f use of get<some name> methods that already return nulls/false when attempting to load
in contexts where we would want to try first (pt2)
2025-05-28 17:45:02 -05:00
AzaezelX 40974dd14b use of get<some name> methods that already return nulls/false when attempting to load
in contexts where we would want to try first
2025-05-27 17:07:08 -05:00
AzaezelX 37f28dfbd7 cleanup strays
handle clearing composite input textures
we no longer have a material value labeled emissive.
2025-05-16 10:54:00 -05:00
marauder2k7 f64c7ce7aa Update materialDefinition.h
the values holding the channel selection were set to floats when they were expecting integer values.
2025-05-16 16:16:41 +01:00
marauder2k7 aa3f07e339 update macro
Added get##name##File to macro that will check to make sure the asset is not null before getting the image file.
2025-05-14 00:30:47 +01:00
marauder2k7 a52069bbc5 processed material null ref
processedMaterial was not checking to see if each asset was null before getting the image filename inside the call to _createCompositeTexture
2025-05-13 23:46:54 +01:00
marauder2k7 7c4d41ee21 Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-04-05 15:59:02 +01:00
AzaezelX 2d974cebf5 add difFloatPi range validator
player:
apply to player min/max angle
allow fallingspeedthreshold to go negative
splashdata:
velocity, hieght, acceleration and startradius can all be negative
wrap material animation range from -1 to 1
2025-04-03 16:52:49 -05:00
AzaezelX 0e78312e95 fix (?) rotation
set the behaviour back to prior calcs, plus allow the desired scroll combo to work
2025-04-02 23:07:09 -05:00
marauder2k7 79e046d379 Update processedShaderMaterial.cpp
requires extra safety when the diffusemap asset is null, this is something that will be fixed by the material asset refactor
2025-03-30 12:22:17 +01:00
marauder2k7 73ad92b757 review notes from Az
Should render fallback for namedTarget if namedTarget fails
Add safety around namedtarget getTexture to stop assert
Missing assets should revert to fallback image and print a warning to console
Remove REFACTOR tag from all macros.
2025-03-30 11:22:42 +01:00
marauder2k7 6eac6d767b cleanup areas checking for named tex target in materials 2025-03-28 14:05:03 +00:00
marauder2k7 fad397d914 always cleanup -_- 2025-03-27 09:11:40 +00:00
marauder2k7 ea49af52a5 Update materialManager.cpp 2025-03-27 09:00:12 +00:00
marauder2k7 c025ea86b4 more cleanups
cleanup the type removing the refactor tag
materialManager restored to its original state
2025-03-27 08:59:50 +00:00
marauder2k7 a8d7664fc2 named target material reload clean
clean up the previous requirements for namedTarget to display on a material
2025-03-27 08:31:28 +00:00
marauder2k7 9ff4c84bc8 Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-03-25 21:02:57 +00:00
AzaezelX 5e79c01208 fix forward cubemip
in case of temporary loss of the probe array, fall back to a (slightly) less arbitrary probemanager mip level as oposed to assuming 1 mip exists
2025-03-25 14:25:29 -05:00
marauder2k7 987ff90467 named target functionality 2025-03-25 18:22:26 +00:00
marauder2k7 b2fe48ab8d more merge conflicts
fixed more merge conflicts (afxZodiac and MaterialDefinition)
Updated cubemapdata to use refactor asset
added new part to image_asset macro to create a private asset if the file exists.

updated reflectionProbe errors to actual function name where the error occurs.
2025-03-24 21:50:04 +00:00
marauder2k7 0da0903599
Merge branch 'development' into imageAsset_refactor_rev3 2025-03-24 20:07:06 +00:00
AzaezelX f633ef3a3d fill in the validated variables 2025-03-09 11:53:23 -05:00
AzaezelX 0ac0ee88c2 BitfieldConsoleBaseType::setData definition
also, preserve saved out 0 and -1 numbers to resrver 'none' and 'all'
ditch 'no' materialdefinition::animtype
2025-03-06 20:55:40 -06:00
AzaezelX 64103a58aa enum value listing
show the string value of masked enums in variable entries
also sort the combo case of scrolling and rotating materials
2025-03-06 19:04:22 -06:00
marauder2k7 d87655bb3a merge dev 2025-01-23 22:16:33 +00:00
marauder2k7 0f4d2d1689 material definition finished 2025-01-23 22:16:02 +00:00
marauder2k7 58119a4f82 more material def 2025-01-23 22:15:47 +00:00
marauder2k7 cebfdbc5ec material definition
changing the beast over to the refactor
2025-01-23 22:15:29 +00:00
marauder2k7 eca0820134 init commit
start of attempt 3
2025-01-23 22:12:52 +00:00
marauder2k7 0458228e1c Update processedMaterial.cpp
revert console spam
2024-12-14 18:58:31 +00:00
marauder2k7 f5f50723ed final cleanup 2024-12-14 14:47:46 +00:00
marauder2k7 1edfbcf447 fixes for reload and flush 2024-12-14 13:37:23 +00:00
marauder2k7 f6dc694bd4 fully working 2024-12-14 01:18:46 +00:00
marauder2k7 85463c85ac named targets for image assets
image assets can now be bound to a named texture target
if used in a material the target needs to exist before the material is initialized
2024-12-13 00:26:39 +00:00
AzaezelX 2629d28520 let normal maps handle raw file locations (imposter support) 2024-08-22 18:16:19 -05:00
AzaezelX 72c67e196a Merge branch 'development' of https://github.com/TorqueGameEngines/Torque3D into Enumnanigans 2024-07-24 17:58:27 -05:00
AzaezelX 56e4484ff6 remove glowbin as it's own render pass 2024-05-30 17:29:42 -05:00
Areloch da743d9dc4 Removed test enum values 2024-05-04 10:19:12 -05:00
Areloch b77911bdcd Exposes the SceneObjectTypeMasks as an enum type, allowing it to be utilized in inspectors.
Updated Trigger triggeredBy field to utilize new enum type for editing
Updated MaterialDefinition's animFlags field to utilize appropriate enum type for editing
Fixed image reference in bitmask inspectorField type to use correct image asset name
2024-05-04 09:56:04 -05:00
AzaezelX 824b9a9cd5 fix dynamicCubemaps on objects 2024-04-18 13:57:29 -05:00
AzaezelX fe26ffc375 shift capturing from a globalMacro to a sceneRenderstate S32
lets us ditch shader recompilation so that can be done on the fly without hitches, though does cost us a per-shader const for objects and postfx
2024-04-16 13:51:41 -05:00
marauder2k7 2b295fb7f0 rest of virtuals removed
virtuals removed and replaced with override where necessary on the rest of the code base, clang-tidy to the rescue.
2024-03-18 18:40:22 +00:00
marauder2k7 efbe5e90f5 virtuals removed
virtuals removed and replaced with override where necessary, clang-tidy to the rescue.
2024-03-18 18:13:00 +00: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
marauder2k7 d9fd3375da Merge remote-tracking branch 'upstream/development' into ShaderConstBuffer-CleanupRefactor 2024-02-24 14:42:53 +00:00
marauder2k7 42b8748f5b bkup
still memory heap issue
2024-02-24 12:04:53 +00:00