1.
One static vertex buffer with all the tee body parts in their correct size with the right texture coordinates, as well as a uint which identifies the body part.
One minimal tee vertex buffer with instance stepping, which contains minimal information about the tee
- position
- view angle for the eyes
- relative position of the body
etc
The vertex shader then figures out which body part the vertex is from and applies the correct transformations
2.
Again the same static vertex buffer without the identifying uint
A vertex buffer with instance stepping, which, for every tee, has a matrix for each body part
(since some body parts are duplicate the amount of matrices could be reduced, and this could also just be a uniform buffer that gets indexed)
3.
A single vertex buffer for all tees that includes all transformed vertices, probably with an index buffer
The trade offs that I tried to take into account were:
- The amount of redundant information
- The size of the buffer writes each frame
- The amount of work for the vertex shader
Thoughts? ^^1.
One static vertex buffer with all the tee body parts in their correct size with the right texture coordinates, as well as a uint which identifies the body part.
One minimal tee vertex buffer with instance stepping, which contains minimal information about the tee
- position
- view angle for the eyes
- relative position of the body
etc
The vertex shader then figures out which body part the vertex is from and applies the correct transformations
2.
Again the same static vertex buffer without the identifying uint
A vertex buffer with instance stepping, which, for every tee, has a matrix for each body part
(since some body parts are duplicate the amount of matrices could be reduced, and this could also just be a uniform buffer that gets indexed)
3.
A single vertex buffer for all tees that includes all transformed vertices, probably with an index buffer
The trade offs that I tried to take into account were:
- The amount of redundant information
- The size of the buffer writes each frame
- The amount of work for the vertex shader
Thoughts? ^^ instance_count
time with an automatic index
for i in 0 .. instance_count
draw_call
as far as i seen it also doesnt execture on the GPU
i tried to build a buffer that only contains indices counted up (to reflect what instancing would do if you count from 0 to x) and it was faster than the driver (by a very bit), since i assume it done that in one gpu call instead of simply looping
What is your solution to the blending problem?indices.extend([0, 1, 3, 0, 2, 3].map(|i| i + offset));
in a loop for the creation of the index buffer971e1b0
server/pickup: Use enum values and struct size instead of magic numbers - Kaffeine
f5d7174
GameContext: Use SERVER_DEMO_CLIENT instead of a magic number - Kaffeine
cc43d40
Extract SnapLaserObject() from entities to CGameContext helpers - Kaffeine
2ad5c02
Add a simpler IServer::SnapNewItem() API based on some more generated data - Kaffeine
3a9e4ee
Extract SnapPickup() to CGameContext helpers - Kaffeine
cb68791
Merge #6330 - bors[bot]discard
statement https://gpuweb.github.io/gpuweb/wgsl/#discard-statementcl_dummy_resetonswitch
for making sure inputs never stuck on dummy switch.
But I would make the bold statement that jump is one of the least needed inputs to ever be stuck.
So it would be nice to be able to opt out of it in favor of avoiding annoying fails due to accidental jump stucks while keeping the hook/dir/fire stuck on switch active.discard
statement https://gpuweb.github.io/gpuweb/wgsl/#discard-statement glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_NEVER, 1, 0xFF);