Commit graph

373 commits

Author SHA1 Message Date
AzaezelX
3ab716063f doc correction 2024-02-23 12:39:26 -06:00
AzaezelX
4d1395dd57 from mar: fix the opengl cookie uv lookup 2024-02-23 11:23:07 -06:00
AzaezelX
c27b9bf48f allow spotlights specifically to comprress ies based on angle differentials 2024-02-23 01:28:15 -06:00
AzaezelX
bbe9bc8871 missed a 1d convert 2024-02-22 23:47:57 -06:00
AzaezelX
14b6822e49 a) use a 1d texture for this
b) if we're going to optionally assign iesProfiles via shadowMacros.push_back, should specify the entries for the samplers too
2024-02-22 17:53:53 -06:00
AzaezelX
0b7fd2f0b3 ies bugfixes 2024-02-22 16:00:26 -06:00
marauder2k7
39ec0305f9 GLSL To match
Update the glsl side to match hlsl ies profile usage
2024-02-21 08:24:24 +00:00
marauder2k7
4417462499 Add support for both ies and cookie
Both ies and cookies can now exist on a light

We are still not using all the capabilities of an IES profile, such as candela and luminance values we are just using them as a mask for the moment

Issues compiling on mac and linux, will need to update the ies-loader to use torque methods instead of std::
2024-02-21 07:40:57 +00:00
marauder2k7
a12d915180 Loads an IES Photometric profile.
ADDED: Ability to add IES profile as the cookie texture slot in both point lights and spot lights

TODO:
Have the IES Profile also drive the settings for the lights.
Make it work with Cookie textures. IES profiles are to be another slot in the advanced light section.
2024-02-21 06:22:37 +00:00
Brian Roberts
e68643c6ce
Merge pull request #1194 from Areloch/onClientMissionLoadedCallback
Adds a callGamemodeFunction invoke for when the client is done loading the mission so the gamemode can do stuff once the player is done loading, but before fully connecting/spawning in
2024-02-04 00:10:29 -06:00
Brian Roberts
f940360b96
Merge pull request #1199 from Azaezel/alpha41/sfxSafties
sfx safeties
2024-02-04 00:09:56 -06:00
AzaezelX
c4b30b74fd clarify variable types. you want to pass assetIDs, not actual profiles 2024-02-03 22:39:21 -06:00
Areloch
aa3d51c3cc Removes some old entity/component code from the level load process that isn't used anymore 2024-02-03 17:16:41 -06:00
Areloch
b0b0cbfaef Adds a callGamemodeFunction invoke for when the client is done loading the mission so the gamemode can do stuff once the player is done loading, but before fully connecting/spawning in 2024-02-03 17:09:11 -06:00
AzaezelX
cf56265789 extended onCreateGame functionality
now also trips on object instances and datablock namespaces
ensures there's a generic hook for post-load processing for objects created by a scene to reference other objects created during that process
2024-01-21 22:16:15 -06:00
Areloch
e71880b898 - Added a companion global var array for $AudioChannelsName[x] as well as utilizing $AudioChannelCount for keeping better tabs on the active defined audio channels. This allows modules to establish new channels more easily
- Updated the handling of the option slider entries to utilize temp vars and properly complied the audio channel options to the new setup
- Fixed issue where behavior of slider was erratic because of improperly defined tick count
- Added logic to check if audio sliders were changed for the 'check unchanged settings' logic
- Made the keybind remap inputCtrl ignore axis events
- Made the MessageBoxDlg input commands properly check for key makes, to prevent messages boxes from catching key breaks and blowing past follow-up messageboxes accidentally
- Fixed forward/backward iteration of options entries, especially on dpad, and added handling for gamepad stick to do the same
- Added logic so option sliders can also be manipulated by the forward/backward to make it standard for all
- Fixed erroneous marking of "restart required" message as true if any settings change, and not just settings expressly flagged as requiring a restart
2024-01-01 01:42:53 -06:00
Areloch
67ac556ecd - Added ability to explicitly execute a guiControl's console and altConsole command
- Fixed formatting of resolution strings for the internal values, allowing them to be properly parsed and applied by the options menu/canvas
- Fixed display of Display Device on option's menu
- Fixed Issue of it not displaying any keybinds in keyboard/gamepad options if there's only a single actionmap
- Added 'hold to scroll' action to optionsMenu
- Added apply button to options menu
- Added remap button to options menu when on keyboard/gamepad keybinds categories
- Fixed up the remap logic so remapping a key only unbinds the matched device being bound, so binds for different devices are untouched
- Made keybinds options properly refresh when keybinds are changed
- Shifted keyboard "go" keybind for menu nav from Enter to Space for easier use
- Removed stick keybinds from gamepad
2023-12-31 12:46:48 -06:00
Areloch
6e101595d6 Merge branch 'BaseUIUpdateWipwork_20231219' of https://github.com/Areloch/Torque3D into development 2023-12-26 21:29:24 -06:00
Areloch
df00543502 Implemented apply changes logic
Updated autodetect graphics to complete to new apply changes rules
Made it so gamepad can activate key rebinds
2023-12-19 16:37:23 -06:00
Areloch
55697cffdb Streamlined baseUI profiles
Implemented audioOptions file with structure to comply to BaseUI options menu
Implemented majority of keybind remapping logic for options menu
2023-12-18 23:49:13 -06:00
Areloch
ce4c8dabc9 Ongoing wipwork of the BaseUI update. Some bugfixes pending 2023-12-16 23:18:33 -06:00
Areloch
616d974212 Wipwork for updating the BaseUI
Adds ability to select an actionmap for a GuiInputCtrl which will push it onto the stack, so menus can enact an action map
Update of the MainMenuGUI to fit new style and have the logic needed for KBM and gamepad navigation
Very early wipwork of OptionsMenu overhaul for new standard
2023-12-06 19:50:51 -06:00
AzaezelX
8c38448428 probe capture fixes
review of per and post bake protocols showed that the CAPTURING shader macro was not being properly recompiled in. as opengl was not playing nice with a simple batch shader recompilation for all effected shaders, a full lightmanager restart is at time of writing required. once we have a proper globally cached scene structure stored off GPU side, we'll want to change  GFXShader::addGlobalMacro("CAPTURING", String("1")); on over to dirtying that value in the cached buffer via setting a shader global uniform
review of prefilter examples shows a fixed sample count of 1024 across multiple implementations, so we'll use the standard barring further research into where that number is comming from for a scalar approach
review of gl shaders shows a doubleup in compiled state testing, so slimmed that down and added additional debugging reports
2023-12-05 13:32:03 -06:00
AzaezelX
9b7d99fc1d typofix 2023-11-29 13:34:27 -06:00
AzaezelX
ccfe2478b7 overdark causality review
two things stuck out as proximal causes for an overdark result on community review
1) $PostFX::HDRPostFX::keyValue was significantly too low given existing calculations, so upped that to 00.5 in keeping with the general assumption were remain intending to have that be the dead center value of a luminance range
2)  Fr_DisneyDiffuse input assumptions differ from current engine ones, so reverting that to lambert .
2023-11-28 19:34:09 -06:00
AzaezelX
593d0ef9f0 lighting corrections:
1) fix spotlight shadow casting. we weren't properly accounting for reversedepthbuffer there
2) fix mismatched variables in forward lit spotlight param array
3) use disney diffuse in the generalized brdf, and apply it for spotlights after angular attenuation, not before
4) .provide a generailze luxTargMultiplier approach for spot and point lights (as well as future growth areas) so that range, angle ect can impact the brightness variable sent to a given light source shader without perpixel overhead
5) for spotlightParams in particular, use sizeof(point4f) for the alignedarray untill that's properly reviewed/revised
6) narrow attenuation slightly based on a given lights dot product to prevent tool vs outcome leakage, plus provide safeties for when a given spotslight's inner and outter angles match identially
2023-11-18 19:05:12 -06:00
AzaezelX
268603f36c clean up ServerAssetValidator when closing server 2023-09-27 15:45:54 -05:00
Areloch
37c85bb7ee From Nils' UI work
- Updates various images in core and UI to be more standardized to the default theme
- Updates some spacing, sizing and coloration of gui controls and profiles
2023-09-05 00:05:32 -05:00
Samuel Skiff
cde584253d OpenGL fixes for HDR post effect 2023-07-07 00:51:11 -05:00
AtomicWalrus
75625dc679 Reverse depth & 32F buffer format
-Adds reversed depth projection model, dramatically increasing depth buffer effective resolution.
-Adds 32F depth 8U stencil format GFXFormatD32FS8X24 (following DX naming conventions). Note this is a 64-bit format, and likely not suitable for mobile platforms. Revert to GFXFormatD24S8 in renderManager.tscript for mobile & "ancient" platforms.
-Corrects alignment of texture type details array.
2023-04-14 20:13:28 -06:00
AzaezelX
1b1497d439 adds a reloadModuleFiles(%moduleGroup); command
method checks last module.filename execution via getTimeStamp() the last time it was run, and compares fileModifiedTime to see if the next time that file had been altered.
called in moduleExec
2023-04-08 21:27:43 -05:00
AzaezelX
fd02044d20 cut control chars for font population
zip referenceablilty for font files
2023-03-17 23:02:27 -05:00
Brian Roberts
d887c27d95
Merge pull request #994 from Azaezel/alpha41/fontcachegen
revise populateallfonts()
2023-03-15 18:22:44 -05:00
AzaezelX
07b3cba378 fix font cache attempting to start with char 0x0, time delay generation by one second per to mitigate ap choke 2023-03-15 18:22:14 -05:00
AzaezelX
f22464b056 revise populateallfonts
rewritten to be a full itteration of all unique combos of font+size used by any currently loaded guicontrolprofile
2023-03-15 06:24:25 -05:00
AtomicWalrus
4b678a3e3b Prevent double onAdd script call for GameBase objs
Adds a check to skip this the first time onNewDataBlock is called (when the object is created) to prevent double-calling onAdd
2023-03-15 00:05:01 -06:00
AzaezelX
9a5e0829ff misc asset bit cleanups
pt1) camera_shape misconversion leftovers
2023-03-07 15:15:12 -06:00
Areloch
33ac4a0864 Corrects the dirt lens image reference from filepath to assetId to not have overhead having to look up the asset each frame when setting the postFX 2023-02-26 12:58:50 -06:00
Brian Roberts
2d946f693a
Merge pull request #965 from Azaezel/alpha41/moduleExec
callonmodules perf tweaks
2023-02-18 00:51:41 -06:00
Areloch
0e0cc0b83a Ensures that if no client camera is defined when attempting to swap into an editor camera mode, it makes one so that the normal editor camera modes can work as expected
Adds sanity check to default onNewDatablock function on the GameDatablock namespace in case the onAdd or onRemove functions aren't defined, we don't spam the console
2023-02-18 00:40:55 -06:00
AzaezelX
992a610d9f callonmodules perf tweaks
callonmodules skips out on file execution tracking
new moduleExec method retains the old functionality for module file execution filtering
2023-02-17 05:49:16 -06:00
AzaezelX
57037080b2 add an ignoreLighting entry to materials
by request:, flag to utterly ignore lighting in favor of the base texture
2023-02-14 20:57:44 -06:00
AzaezelX
e83028d9ae preserve glowmap operating as faux lights for probes via oversaturation
(cherry picked from commit 5a2e04838e)
2023-01-20 23:51:36 -06:00
marauder2k7
556937ec09 Initial Commit
(cherry picked from commit 05a2f8c4cf)
2023-01-20 23:51:03 -06:00
Brian Roberts
95b8028e5a
Merge pull request #943 from Azaezel/alpha403/emissiveToReciveShadows
emissive  to recivesShadows
2023-01-09 15:28:30 -06:00
AzaezelX
543eac4720 clean up lefotvers 2022-12-29 13:54:26 -06:00
AzaezelX
645f88d4af emissive to recivesShadows
now we've got a glow mask and multiplier, ditch the emissive flag in favor of a proper recivesShadows
2022-12-29 13:38:30 -06:00
AzaezelX
8821f62b0c misc fixes
utilize specialty case soundarray macros.
 slim duplicate entries in vehicle already hand;ed by rigidshape.
create a gamebasedata::onnewdatablock which calls onremove and onadd for the db for those classes like wheeledvehicle that expect mounting logic to occur
2022-12-27 21:10:15 -06:00
Areloch
00c27095f7 Establishes a common namespace for Module ScopeSet objects to make it easier to work with function calls out of module namespaces 2022-12-22 00:02:34 -06:00
Brian Roberts
ad78f8686c
Merge pull request #932 from Azaezel/alpha402/LevelLoadInjection
adds a mechanism to inject additional steps into mission loading
2022-12-18 11:05:09 -06:00