Things to be Observed and then documented somewhere in a wiki. #65
Replies: 2 comments
-
Ah, there are: So model authors, or more specifically rig authors should try to keep an individual rig below 16 bones, if the developer is using ordinary vertex skinning techniques in which you have vertex attributes struct Vertex<N:usize> {
...,
bone_indices: [i32;N],
bone_weights: [f32:N],
} where (0..N).map(|N| bones[bone_indices[N]].transform(point) * bone_weights[N]).sum() note: this is pseudocode, more advanced knowledge of vertex skinning will be required to know the bone matrices to send to the 3DS. If you're using dual quaternion skinning, you can double the number, as each bone in dual quaternion skinning only needs 8 f32s. Also note that the bone weights could probably be Also note that if you need more bones, you can always split a model up, share a few bones between the two meshes, and render that. |
Beta Was this translation helpful? Give feedback.
-
Hi @LexiBigCheese, thanks for writing up all these notes / ideas somewhere! I haven't been super active recently but I'm glad to see some other people still interested in and working on 3DS graphics stuff 😄 I'm going to move some issues (like this) that don't seem like bugs or feature requests into discussions so that it's easier to keep track of what's what, but please feel free to continue posting notes and ideas there if you'd like! Adding/creating a wiki isn't a bad idea, GitHub wikis are little awkward to use but I may look into setting up one for this repo like we have for ctru-rs. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Observe: RGBA8
Texture
s with side lengths larger than 1024 do not work, does this apply to other formats?Observe: What
Texenv
Source::TextureN
outputs when aTexture
is not boundObserve: The contents of a
Texture
before any data is uploaded to itObserve: The contents of each mip level of a mipmapped
Texture
before data is uploaded to itObserve: The contents of each mip level of a mipmapped
Texture
after data is uploaded to it, but before mipmaps are generated.Observe: The maximum number of uniforms a shader can handle (And a translation for how many bones you can expect to have in a shader, as well as an example for how to implement ordinary skinning and dual quaternion skinning, and how many bones you can have there)
Beta Was this translation helpful? Give feedback.
All reactions