Commit graph

594 commits

Author SHA1 Message Date
marauder2k7 7f351ef429 Restore LIBPNG for png files
Restores the use of libpng for png files as stb does not support writing out 16bit png files.
2025-12-31 11:00:07 +00:00
AzaezelX 17326b2d8c add optional mip and face lookups for gbitmap::getcolor 2025-12-22 16:45:27 -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
AzaezelX 473a45fbca circular volatile buffer safety
add padding to the circular volative buffer overlap test to avoid loop artifacting
2025-11-20 10:04:20 -06:00
AzaezelX ab80a842aa fix particle glow 2025-10-20 10:56:19 -05:00
AzaezelX ba18fdbe6d PROFILE_START_IF profiler macro
sig is an action, a stringtable variable, and an unquoted string to compare against
demonstrated with bitmapSTB
2025-10-16 18:11:29 -05:00
AzaezelX 00ee42e2a8 fix directx rendertarget crash
asset brower previews were asserting due to a cornercase rt assignment
also ditch mipgen for rts targetting a texture profile that's marked as nomip, and adjust hdr uopsampling shader to compensate for overdarks
2025-08-11 23:21:20 -05:00
AzaezelX 8d38fa0bc4 gl side mip sanity clamps 2025-08-06 12:57:59 -05:00
AzaezelX f2ffc8bd22 rangeclamp for mip guestimates for rendertargets to keep that from getting out of hand
(or try to. gls still not respecting it for some reason)
2025-08-05 14:52:31 -05:00
AzaezelX 36c906a72d allow "null surfaces" to register mResolveTargets to at least attempt to gen mips 2025-08-04 17:55:18 -05:00
AzaezelX 022f8d1732 set GFXTextureManager::_validateTexParams to respect sen mipcaps
also kill console spam
2025-08-04 14:36:11 -05:00
AzaezelX 3cdbd4e87e don't let GFXD3D11TextureTarget::deactivate() try to generate mips if we haven't told that target to do so 2025-08-04 14:11:00 -05:00
AzaezelX 7fcdd03b50 skip mip calculation for non pow2 textures if it's not for a rendertarget 2025-08-04 13:10:13 -05:00
AzaezelX 65e92fc50c Merge branch 'development' into mipwip 2025-08-04 11:04:49 -05:00
AzaezelX cacd8a6064 mipwork, laregly courtesy of @mmarauder2k9-torque 2025-08-03 20:25:31 -05:00
marauder2k7 b9193072c1 fix for draw cone and draw cylinder
these werent rendering correctly and we suspect draw cone was trying to draw more than it was allocating. On a volatle buffer that causes issues.
2025-07-31 17:55:38 +01:00
marauder2k7 21095f777b Update gfxGLCircularVolatileBuffer.h
revert, that broke it more by upping memory
2025-07-29 16:08:51 +01:00
marauder2k7 267986a289 fix volatile buffer
change debugdraw to use volatile
fix volatile buffer wraparound
2025-07-29 15:20:22 +01:00
marauder2k7 d45c3794a5 Update gfxGLCircularVolatileBuffer.h
fix gl volatile buffer
2025-07-29 10:27:49 +01:00
marauder2k7 d4d552e8e0 recast update
Added chunkytrimesh - this class splits up the geometry the navmesh is interested in into kdtree for fast traversal, makes the actual navmesh generation work with smaller chunks.

Now only 1 RecastPolylist per navmesh this can be saved out in a future commit.

This is a history commit, all functionality works same as it did before but it matches recasts recommended setup more closely. Future additions may break backwards compatibility.
2025-07-22 14:39:36 +01:00
marauder2k7 26ebdd093b test commit to fix debug draw
pass all draws through duDebugDraw instead of calling our class directly.
2025-07-20 16:10:27 +01:00
AzaezelX 280ce94cfc misc opengl cleanups
allow GFXGLDevice::setVertexStream to use all 4 streams
clean out volatilebuffers at GFXGLDevice::endSceneInternal().
2025-07-08 14:14:16 -05:00
AzaezelX 2e15018ad3 minor followup to #1494
we do try and avoid auto for places that aren't mutatable patterns so folks can scan what's going on under the hood
2025-06-06 11:00:12 -05:00
Brian Roberts ccd30a19cc
Merge pull request #1495 from Azaezel/alpha41/safeSafties
add extra safeties to safe_delete macros
2025-06-06 10:56:46 -05:00
AzaezelX aebd497fd6 make sure device and texture manager are still around when making a deletion request of them 2025-06-06 10:56:02 -05:00
Nick-IronTower 01ffdae89a GFXStateBlockDesc memory leak fix. 2025-06-06 14:52:20 +03:00
marauder2k7 ea751eb62f Update bitmapSTB.cpp 2025-05-30 04:00:45 +01:00
AzaezelX 2f19db7607 overflow avoidance 2025-05-26 15:17:01 -05:00
marauder2k7 f40c20d2f4 Update gfxGLShader.cpp
restore assertfatal if the bindPoint ==-1 as these require a location, ubo uniforms location returns -1
2025-05-21 07:16:45 +01:00
marauder2k7 ab36fe24ec fixes for opengl uniform buffer loading
This fix allows uniform buffers to be used with glsl shaders.

Small issue with uniform buffers not being initialized correctly.
2025-05-21 07:10:54 +01: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 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