Commit graph

564 commits

Author SHA1 Message Date
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 7c4d41ee21 Merge remote-tracking branch 'upstream/development' into imageAsset_refactor_rev3 2025-04-05 15:59:02 +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 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 bfe2401ebb get image metadata
adds ability to get image metadata without loading the texture
since we are using the getOwned parameter correctly now new assets must have the full path to the image file when being created
when the asset becomes owned again the image file path will be updated.
2025-03-28 11:14:21 +00:00
marauder2k7 6640cae0d7 Update cubemapData.cpp
missed checks, and loop should be inner
2025-03-25 14:34:28 +00:00
marauder2k7 15503cbf7c Update cubemapData.cpp 2025-03-24 22:18:18 +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
AzaezelX 61e4107c39 handle feeding a cubemap via 2d textures
courtessey marauder
2025-03-24 11:32:09 -05:00
marauder2k7 c476b292a6 Update gfxD3D11Cubemap.cpp
put arraySize check back in
2025-03-20 15:51:39 +00:00
marauder2k7 ef856e23fa fix and cleanup 2025-03-20 15:26:52 +00:00
Brian Roberts 676a3dd6dc
Merge pull request #1390 from Azaezel/alpha41/probeCountPass
update max probecount
2025-02-20 12:08:33 -06:00
AzaezelX c830d20150 update max probecount
dx11 has a 2048/6 cap on how many cubemaps can fit in a given array. bump the probe count up to just under that to buy folks head room while we work on revising a more robust solution
2025-02-19 19:17:19 -06:00
AzaezelX 516df48354 adds a built in detail map generator
splitTerrainMaps("data/some/file"); or  makeTerrainMapsFrom("module:anAsset"); to take a detailed albedo map and split it into a _bas(is) file thats an averaghe of the inut and a _det(ail) file to raise and lower different channels from that average.
special note: while used primarily for terrain authoring, these files could also be plugged into a normal material
2025-02-06 14:46:05 -06:00
marauder2k7 055ca0ae00 use screenshot for eye dropper
instead of using backbuffer image, use the screenshot so it captures everything
2025-01-23 20:23:47 +00:00
marauder2k7 29a9bd7917 ground work before gui 2025-01-22 17:21:46 +00:00
marauder2k7 f6dc694bd4 fully working 2024-12-14 01:18:46 +00:00
marauder2k7 f288ffccba cubemap baking fix
the key part of this issue was to invert the order we were baking the faces. Not much of a fix but it works better than before need to get a proper fix implement
the way the issue is copying X+ into every other face but isnt doing it in the reverse order means the rtv for face 0 must be being replicated into all other faces.
2024-12-04 21:57:32 +00:00
Brian Roberts 1be326e0d0
Merge pull request #1297 from marauder2k9-torque/matrix-templated
Template Matrix class
2024-11-07 16:17:38 -06:00
AzaezelX afeb957601 fix malformed GBitmap::getColor 2024-09-16 12:40:18 -05:00
marauder2k7 888332a85c rest of the implementation
apparently templated classes need all functions to be inline, otherwise unresolved symbols
macro for switching between matrixf and templated
few functions that were missed
2024-07-28 14:35:34 +01:00
AzaezelX a58f98167f handle missing virtual destructors
clang translation: destructinplace needs to know what to erase.
2024-06-10 13:20:09 -05:00
Sven ada83d9a6a
Remove redundant cstdint include 2024-04-25 18:10:26 +00:00
Sven ac56258c9f
Revert "Remove redundant include" 2024-04-25 18:09:54 +00:00
Sven 51be14645d
Remove redundant include 2024-04-25 19:58:50 +02:00
Sven ba5351180b
Add cstdint to ies_loader 2024-04-25 11:27:09 +00:00
marauder2k7 ce4d861658 Test PR for generating cubemap mips
note ibl skips prefilter step and prefilter just becomes the cubeRefl.getCubemap()

Generates cubemap mip levels after the bake correctly on DX side.
2024-04-18 07:56:52 +01:00
marauder2k7 33094397c2 Update bitmapSTB.cpp
stb loader was spamming NO SOI with the function of stbi_info_from_memory because it checks for a jpeg first. This will always return an error if you are sending any other format. Remove this check and just load the memory stream. if it fails to return pixeldata then we have an error.
2024-03-27 07:32:59 +00:00
marauder2k7 0342eb6f31 replace other classes
now all sfxFileStreams create a libsndfile stream class.

At the moment we only read as short
2024-03-24 12:06:03 +00:00
Brian Roberts 05a083ca6f
Merge pull request #1234 from marauder2k9-torque/virtuals-override
Virtuals override
2024-03-21 10:43:26 -05:00
AzaezelX c337d5a9d2 clang tidy misc fixes
adress mixed || plus && concerns raised
2024-03-18 20:11:44 -05:00
marauder2k7 8dc3163fae Update gfxNullDevice.cpp 2024-03-18 20:24:03 +00:00
marauder2k7 7c7e3c8bf8 Update gfxNullDevice.cpp 2024-03-18 19:58:02 +00:00
marauder2k7 155696ba76 Update gfxNullDevice.cpp
ubuntu gcc crash on this function
2024-03-18 18:55:59 +00: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 11d8604d8e ogl device buffer creation
now ogl mirrors dx side with ubo creation and clearing pushed up to the device level.
2024-03-14 14:23:08 +00:00
marauder2k7 1e8841e6b5 pushed buffer creation up to the device level
now shaders ask the device to create a buffer, if a buffer of the same name and size already exist then a pointer to that buffer is returned instead. Going to see if something similar can be added to the opengl end.
2024-03-14 13:32:21 +00:00
marauder2k7 e6c653c441 warnings cleanup
cleanup and some warning fixes
2024-03-14 08:28:11 +00:00
marauder2k7 9dc5ae833b opengl ubo setup
opengl can now compile with ubo buffer objects similar to cbuffers on dx side.

cleaned double up of data from both sides, gfxhandles only need to use the desc info instead of holding onto its own.
2024-03-13 22:23:01 +00:00
marauder2k7 fbed04050a gui shaders for opengl
First opengl geometry shader along with the other shaders for gui rendering opengl side.
2024-03-09 18:34:43 +00:00
marauder2k7 d9c4269d8b bug fix
deleteSelection when an output node had multiple connections only the first one was deleted, needed a new function to return a vector of connections that are now looped and deleted at the end of delete selection.

few other minor additions and fixes.
2024-03-07 17:22:48 +00:00
marauder2k7 0d448ad761 smoothing out results from gui shaders
roundedRectangle and circle drawing now smooth out their results
2024-03-07 09:47:18 +00:00
marauder2k7 c9d70de609 extra draw gui
add the extra functions for drawing gui elements
RoundedRectangle:

All draw rect functions now pass through roundedRectangle which uses a shader and can draw borders, and rounds the corners

Draw thick line:
draws a line thicker than 1 pixel, uses a geometry shader to do this

Draw Circle:
Draws a circle with a border parameter.
2024-03-06 17:27:18 +00:00
marauder2k7 39c2cc09fc Update gfxGLShader.h
forgot to save the file...
2024-03-06 14:02:30 +00:00
marauder2k7 4a6fbd5811 DX and GL Geometry shaders added
Added the dx and gl geometry shader compile codes.
2024-03-06 13:51:50 +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 d8636f754b Merge remote-tracking branch 'upstream/development' into ShaderConstBuffer-CleanupRefactor 2024-03-01 17:52:37 +00:00
marauder2k7 6355da5df6 various fixes
STB probably shouldn't fail on failed info, just continue.
Assimp only add sequences if there are any.
Update kork chan asset.
2024-03-01 15:01:47 +00:00
marauder2k7 017246cfa3 Update gfxD3D11Shader.cpp 2024-03-01 14:30:31 +00:00