-
-
Notifications
You must be signed in to change notification settings - Fork 45
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
Logic in materials is based on details about the wgpu renderer #272
Labels
discussion
Something to discuss
Comments
You're right, it's all supposed to be managed and tracked as part of the renderer. But we don't have to fix this right away. |
Open
5 tasks
Decisions:
Actions:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
While looking at #257 I ran into some abstraction leaks. We try to make the worldObject/geometry/material logic free from logic about the renderer. Even though we only have one real renderer (wgpu) this abstraction has helped us (I think) keep the code clean. But there are some things where it's off:
Last updated 18-04-2023
render_mask
property.Buffer
andTexture
set a few wgpu-specific private attributes. Theses are only used by the renderer, though a user could technically use_wgpu_usage
when needed.wgpu_usage
, see API for specifying buffer and texture wgpu usage #574.Buffer
andTexture
accept a format that is generic, but also accept awgpu.BufferFormat
orwgpu.TextureFormat
respectively.Material._wgpu_get_pick_info()
WorldObject._wgpu_get_pick_info()
WgpuRenderer
.show()
util uses theWgpuRenderer
, but fair enough since that's the default.I'm not sure what best to do about this. Just accept it, we use the abstraction as a "rule of thumb" to keep on track? Or fix it, by moving the offending logic to the renderer?
The text was updated successfully, but these errors were encountered: