-
-
Notifications
You must be signed in to change notification settings - Fork 166
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
Material Preview Renders a scene #1336
Open
marauder2k7
wants to merge
14
commits into
TorqueGameEngines:development
Choose a base branch
from
marauder2k9-torque:SceneManager-change-scene-accessing
base: development
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Material Preview Renders a scene #1336
marauder2k7
wants to merge
14
commits into
TorqueGameEngines:development
from
marauder2k9-torque:SceneManager-change-scene-accessing
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lose the externs to gClientSceneGraph and gServerSceneGraph and replace them with functions getActiveClientScene and getActiveServerScene respectively.
now scene container works the same way as sceneManager SceneManager now creates a server side automatically as the server side is the authoritative side
This reverts commit 75f634e.
sceneManager now keeps control of its own container since sceneManager are client/server server gets deleted first when deleting the client server preventing break in containers being freed. Now sceneManagers can keep track of their own containers which prevents leakage into other scenes guiMaterialPreview now renders a scene, all objects are passed through to it as an asset this could be leveraged for adding custom shapes to it through a window for a shape asset now. tsstatic required createShape pushed to public for this test.
lightmanager now just uses the current active client scene and so does its derivatives guiMaterialPreview not completely functional with lighting and using tsstatic for the shape. NOTE: guiMaterialPreview is still a test scene.
missed cleanup
removed middle mouse button interaction from material preview.... because why!
SceneObject now adds the object to the clientSide sceneManager set to the object if the object was registered inside a scopedSceneManager this will be a client side scene of the scopedScene meaning we can stream objects that are inside a window (eg: guiMaterialPreview)
fix unit tests
now we have a scene with a ground plane so we can see the shadows we also use a real sun object so the shadows can be projected removed bgsky so this can be merged until we figure out hdr's to use the system now works mostly as expected still just the bug with preview window updating all the other shapes with the selected material.
…-change-scene-accessing
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Removed SceneManager direct references eg gActiveClientScene / gActiveServerScene replaced them with global functions getActive scenes.
Decoupled containers to do the same
Everywhere that referenced these now uses the functions instead
Added ScopedSceneManager, for temporarily setting objects to a different scene and rendering said scene. Once it goes out of scope the main scene becomes the new currently active client scene.
SceneObjects now get added to the client side of the server scene they are added to not just the current active scene.
SceneManagers keep a references to their clientSide and serverSide respectively.