-
-
Notifications
You must be signed in to change notification settings - Fork 910
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
feat(flame_3d): Make shader api more useful #3085
Merged
luanpotter
merged 3 commits into
flame_3d
from
feat(flame_3d)-make-shader-api-more-useful
Jul 22, 2024
Merged
feat(flame_3d): Make shader api more useful #3085
luanpotter
merged 3 commits into
flame_3d
from
feat(flame_3d)-make-shader-api-more-useful
Jul 22, 2024
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
This was referenced Apr 27, 2024
luanpotter
added a commit
that referenced
this pull request
Apr 27, 2024
Fix minor nits on flame_3d, namely: * fix wrong bash command on the readme file * add missing git ignore to the example This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Apr 27, 2024
Add helpful extension functions to Vector classes, including tests. This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
force-pushed
the
feat(flame_3d)-make-shader-api-more-useful
branch
from
April 27, 2024 21:39
4e9f73c
to
82083c3
Compare
6 tasks
I can't wait for this |
luanpotter
force-pushed
the
feat(flame_3d)-make-shader-api-more-useful
branch
from
July 9, 2024 01:39
085f037
to
db1465f
Compare
…3179) Cleanup lighting code and remove unused Standard Material.
luanpotter
force-pushed
the
feat(flame_3d)-make-shader-api-more-useful
branch
from
July 9, 2024 23:14
db1465f
to
a15f851
Compare
Implement a basic light abstraction. Still only supports one light for now, and no parameters other than its position. Note: I will fix the 0-lights case when I add support for multiple lights. A few complications arose that led me to revamp our component system a bit. Basically splitting the `Component3D` class into a more fundamental version of itself that only includes the 3D positioning stuff, and none of the rendering stuff, and what used to be `Component3D` becomes `Object3D` (I am not sold on the names, feel free to suggest replacements). I also added a `Group3D` class to allow for people to create groups of components without carrying the rendering code. Of course you can still add children to Object3D as well. I am open to removing it and just making `Component3D` concrete instead. The image below explains the new structure: ![image](https://github.com/flame-engine/flame/assets/882703/6dcb408c-10ea-4b67-b4fc-d760a1d91ea0) --- The difference between the 3 "light" classes: * `LightComponent` → interacts with FCS. is Component3D, thus carries the position * `LightSource` → describes the light in abstract terms (minus position). used both by `LightComponent` and `Light` * `Light` → base description of a Light as a Resource. FCS agnostic. includes properties (source) + position Again, I am open to any renames. --- ## FAQ #### why separate component3d and object 3d? not really needed but I didn't want light component to "carry" the rendering code that is not used. that also makes the distinction more clear as objects are completely different than lights. that way we don't have to have a definition of "non-light objects/components" #### ~why do we need group3d?~ i removed group3d! ~again not really needed, you can add children to objects, but if you want a pure container (no rendering), this would make more semantic sense. other options would be to not have anything (tell people to group things using object3d) or make component3d concrete (tell people to use that). having group3d consolidates the separation of light as its own thing.~ #### why some classes end in 3D and some classes end in Component [answer](https://martinfowler.com/bliki/TwoHardThings.html) (please help)
luanpotter
added a commit
that referenced
this pull request
Jul 23, 2024
Fix minor nits on flame_3d, namely: * fix wrong bash command on the readme file * add missing git ignore to the example This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Jul 23, 2024
Add helpful extension functions to Vector classes, including tests. This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Jul 23, 2024
Co-authored-by: Luan Nico <[email protected]>
luanpotter
added a commit
that referenced
this pull request
Jul 27, 2024
Fix minor nits on flame_3d, namely: * fix wrong bash command on the readme file * add missing git ignore to the example This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Jul 27, 2024
Add helpful extension functions to Vector classes, including tests. This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Jul 27, 2024
Co-authored-by: Luan Nico <[email protected]>
luanpotter
added a commit
that referenced
this pull request
Aug 12, 2024
Fix minor nits on flame_3d, namely: * fix wrong bash command on the readme file * add missing git ignore to the example This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Aug 12, 2024
Add helpful extension functions to Vector classes, including tests. This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Aug 12, 2024
Co-authored-by: Luan Nico <[email protected]>
luanpotter
added a commit
that referenced
this pull request
Aug 25, 2024
Fix minor nits on flame_3d, namely: * fix wrong bash command on the readme file * add missing git ignore to the example This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Aug 25, 2024
Add helpful extension functions to Vector classes, including tests. This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Aug 25, 2024
Co-authored-by: Luan Nico <[email protected]>
luanpotter
added a commit
that referenced
this pull request
Sep 11, 2024
Fix minor nits on flame_3d, namely: * fix wrong bash command on the readme file * add missing git ignore to the example This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Sep 11, 2024
Add helpful extension functions to Vector classes, including tests. This was extracted directly from @wolfenrain 's [bigger PR](#3085), making it easier to merge later.
luanpotter
added a commit
that referenced
this pull request
Sep 11, 2024
Co-authored-by: Luan Nico <[email protected]>
luanpotter
added a commit
that referenced
this pull request
Oct 15, 2024
Description
BIG WIP
Checklist
docs
and added dartdoc comments with///
.examples
ordocs
.Breaking Change?
Related Issues