Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of Subscenes, SceneGroups and Gamemodes #1311

Merged
merged 93 commits into from
Dec 17, 2024

Conversation

Areloch
Copy link
Contributor

@Areloch Areloch commented Sep 1, 2024

  • Standardizes Gamemodes to be an actual class with data and utility functions that can be parsed
  • Adds inspector field handling for selecting gamemodes
  • Updated Scene class to work with Gamemodes for the gamemode field
  • Updates editor suite elements to be able to create SubScenes, SceneGroups and Gamemodes
  • Adds ability to convert SimGroup to SubScene
  • Updates BaseUI's chooselevel menu to have gamemode selection and filters shown levels based on selected gamemode

marauder2k7 and others added 30 commits July 27, 2024 15:29
initial implemenation of templated classes :
Matrix class first.
setColumn
setRow
isIdentity

only a few functions left
fix comment, torque is already column major, even though doc says its row major
add mul functions and operators
code conformity changes
added functions for normalize and affineInverse
apparently templated classes need all functions to be inline, otherwise unresolved symbols
macro for switching between matrixf and templated
few functions that were missed
backup closest working example, no errors or warnings from compile, matrices arent correct though yet.
most working example
silence issues from macos clang
bracket lines
change functions to match mmath_c to figure out where the issue is.
committed tests for matrix class
so far all tests are matching between templated and stock matrixf class
more tests that match between template and matrixf
change mul tests to use more real world examples
fixed inverse function, was not returning correctly.
test box multiplication
test transformPlane
added more unit tests to match values between templated and matrix

tests showed discrepancies in affineInverse, fixed the function to return what is expected.
more unit tests revealed more discrepancies fixes applied.
implemented the rest of the tests
euler single dimension angle tests now pass, missed 1.0f in z
further tests showed issues with inverse function, now to better match what was originally happening, the inverse only happens on the 3x3 portion of the matrix and translation is handled separately.

Frustum test now uses more real world examples of a projection matrix. Test for the full unproject stack of math to test its result as unproject was where the issue about inverse originated
added #if block around inverse methods to track down shadow bug

uses old inverse method as default for now.
fix invertTo function
unitTest to make sure matrix calling invertTo does not get changed.
reimplemented gauss jordan.
returning identity no longer necessary as fullinverse is its own algo
add default destructor
invertTo should always just be const
return loop to * operator, explicit will not allow for scaling of rows and cols
change matrix unit tests to use POINT_EPSILON macro for testing precision
remove old matrix test class, was not used anyway
cmake option to enable the templated matrix class, this is still in review phase, if it gets merged into main, probably best to remove this options just in case someone activates it accidentally.
Standardizes Gamemodes to be an actual class with data and utility functions that can be parsed
Adds inspector field handling for selecting gamemodes
Updated Scene class to work with Gamemodes for the gamemode field
Updates editor suite elements to be able to create SubScenes, SceneGroups and Gamemodes
Adds ability to convert SimGroup to SubScene
Updates BaseUI's chooselevel menu to have gamemode selection and filters shown levels based on selected gamemode
marauder2k7 and others added 29 commits December 4, 2024 23:45
use mSaveFrustm to keep states between object switches
changes per review, frustum wasnt dirty... i like it dirty
light movement now makes sense
…erialPreview-Skylight-fix

Material preview get skylight bake
…istenceManager, as well as a use-case of it for the surface field in ConvexShape
new /= operator in point4f
_calcClipSpaceAABB in pssm no longer uses radius just transform points into light space and do min max
_roundProjection matrix also optimized.
…m-shadowmapping-improvement

some enchancements for shadowmapping
assimp importer now works for the most part for fbx and gltf
animations for gltf still need to be sorted out
fix for mac and linux build
updated how animations are handled from assimp
gltf timing now correct
because of the convert to lefthand gltf all formats are good with Y_UP
fbx details matching for skinned meshes, gltf still offset
most uniform shape import across the formats....
cleanup types
cleanout unnecessary vars
only aboslutely necessary vars to collada utils remain, for tracking scale and up_axis etc.
apply transform to root before importing scene
…impImporter-update

Assimp importer update
…sistManager using specialityField functions, similar to ConvexShape

Fixes behavior with gamemode selection in ChooseLevelMenu so if there is only one gamemode, it is auto-selected and advances to the level selection
Update ExampleLevel in ExampleModule to have updated gamemodes field name
@Areloch Areloch merged commit a88aa7a into TorqueGameEngines:development Dec 17, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants