notes and tweeks
This commit is contained in:
@@ -27,6 +27,7 @@ void main() {
|
||||
vec2 uv = mod(uv, vec2(1.0))*(1.0/(vec2(3.0,2.0)*256.0));
|
||||
vec2 texPos = uv + baseUV;
|
||||
//vec4 colour = solidColour;
|
||||
//TODO: FIXME, need to manually compute the mip colour
|
||||
vec4 colour = texture(blockModelAtlas, texPos, ((flags>>1)&1u)*-5.0);//TODO: FIXME mipping needs to be fixed so that it doesnt go cross model bounds
|
||||
//Also, small quad is really fking over the mipping level somehow
|
||||
if ((flags&1u) == 1 && colour.a <= 0.25f) {
|
||||
|
||||
@@ -21,6 +21,8 @@ uint getCurrentNode() {
|
||||
return nodeQueueSource[gl_GlobalInvocationID.x];
|
||||
}
|
||||
|
||||
|
||||
//TODO: limit the size/writing out of bounds
|
||||
uint nodePushIndex = -1;
|
||||
void pushNodesInit(uint nodeCount) {
|
||||
//Debug
|
||||
|
||||
@@ -78,14 +78,18 @@ void enqueueSelfForRender(in UnpackedNode node) {
|
||||
if (renderQueueIndex < renderQueueMaxSize) {
|
||||
lastRenderFrame[getId(node)] = frameId;
|
||||
if (!isEmptyMesh(node)) {
|
||||
renderQueue[atomicAdd(renderQueueIndex, 1)] = getMesh(node);
|
||||
#ifdef IS_DEBUG
|
||||
debugRenderNodeQueue[atomicAdd(debugRenderNodeQueueIndex, 1)] = node.nodeId;
|
||||
#endif
|
||||
uint renderIndex = atomicAdd(renderQueueIndex, 1);
|
||||
if (renderIndex < renderQueueMaxSize) {
|
||||
renderQueue[renderIndex] = getMesh(node);
|
||||
|
||||
#ifdef HAS_STATISTICS
|
||||
atomicAdd(renderCounts[node.lodLevel], 1);
|
||||
#endif
|
||||
#ifdef IS_DEBUG
|
||||
debugRenderNodeQueue[atomicAdd(debugRenderNodeQueueIndex, 1)] = node.nodeId;
|
||||
#endif
|
||||
|
||||
#ifdef HAS_STATISTICS
|
||||
atomicAdd(renderCounts[node.lodLevel], 1);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user