-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
Feature/swoosh2 #19
Open
TheMaverickProgrammer
wants to merge
36
commits into
master
Choose a base branch
from
feature/swoosh2
base: master
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
Feature/swoosh2 #19
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
…when they submit they should render. same with bouncing text. TODO: segues crash the new renderer. Both problems can be solved by determining how to handle certain drawable lifetimes...
…irectly to the simple surface renderer to fix the issues the upgrade created and resulted in no more crashes. TODO: check every segue effect to ensure it is using the new code correctly. TODO: embed Immediate class type handler into the class so UDT renderers must implement them. TODO: Revisit pushing/popping screens - maybe create an intermediate object representing the Segue that can be configured instead of overloading long template types. TODO: Can I also use the latter idea to pass data from a pop() intention to inform the next active scene, why we left?
…ginning on deferred render proof of concept for swoosh2
…ODO: tweak lighting shader parameters and add deffered lighting. The shader may need the normal matrix after all (due to sprite rotations)
…toff equations but otherwise very promising. Added ability to switch renderers on the fly too.
…sive pass. TODO: fix light crashes for SimpleRenderer, fix depth pass for emissive sampling, clean, & comment all new code, then release.
…Fixed the way simple renderer should handle submitted graphics to solve crash. TODO: add depth buffer pass to fix emissive fragments. Document. Then submit
… tool will be needed to bake these values into one. also added metallic reflections which is cool.
…wn folder for re-use. Fix the segue bug for the custom renderer. Then we are done. :)
… Immediate() event types
…lations. all is working well. TODO: move deferred shader code out into its own file. It is too specific for swoosh general shaders.
…nction `pendingChanges()` is useful to know from one thread when the stack is undergoing changes. Also added a way to cleanly and safely end all scenes and clear the stack in an expected way.
…l drawables as expected. This allows coders to submit any event data for rendering. Renderer can be returned directly. 2) Thenables (name pending) allow scenes to communicate why they returned. TODO: Rewind conceptually invalidates thenables. Also some scenes expect a response even if the scene they came from rewinds back to them. Should they also handle specific return data? What happens when we might have multiple reasons for returning to a scene?
… returned by pop() or rewind() actions! Well-tested in the demo. Currently dog-fooding.
… was not written correctly but now it is.
…ialization. Provided new function to check system compatibility with a renderer to gaurantee it can be constructed safe and soundly. Added a new feature to Contexts and Yieldables that allow previous Activity return data from pop() to be shared via the new Activity's Context object. Added IntroScene to demonstrate this functionality. TODO: find a better name for yield() and retain() as I feel yield() could be a keyword problem and retain() isn't clear. TODO: doll the IntroScene for demo purposes.
…adopt(). pending_raii -> SpinWhileTrue. Cleaned up some other code. Built and tested.
…namespace symbols in the lib. renamed types:: -> ::arg for shorthand. Made sw::segue<T,D> template shorthand visible immediately under the sw:: namespace. PopResults -> PopDataHolder per request.
…roken up into a book or something at this rate. I compeltely glossed over RenderEntries and how the renderer works now.
…iveRenderEntry(). getCurrentRendererName -> just use getActiveRenderEntry() again followed by getName(). Fixed missed PushIn segue effect.
… entry and instance getters
…s the many template forms needed to check the underlining data types. If a context is given a single std::optional<T> type, it will extract the value. If the value is nullopt, nothing happens. If the value is set, then the data is copied. If the user provides multiple values, they are packed into a std::tuple<> object. Similarly if the user tries to fetch the data, template type deduction will return a single type T& or std::tuple<Ts...>& depending on which the user is trying to read. Finally, as<T>() and is<T>() functions have been renamed to read<Ts...> and has<Ts...> respectively.
…Enter(), onResume(), or onStart(), a PopDataHandler will have its context resolved, carried from another via adoption, and then immediately executed. This way, activities can prep for the first lifecycle re-entry. This is not only convenient to reuse these lifecycle callbacks _after_ the PopDataHandler's context has been read, but will also open up new possibilities for programmers who can now change how the first frame is updated/rendered based on the read context data from the previous activity.
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.
Clone(...)
in order to copy temporary sprite data in old SFML composite-based projectsImmediate
event type to draw to the specified render bufferpop(...)
orrewind(...)
via the new.take(...)
callback handler