-
Notifications
You must be signed in to change notification settings - Fork 31
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
Too many temp register is used in Geometry shader, it may cause slow execution. #2
Comments
Hi! We'll also provide the ext-folder as separate download soon. To your other question: There are some debugging tools for GPU programming. Unfortunately, most of them crash when you use brand-new OpenGL functions (like we do). If you want to try it anyway, check out "AMD CodeXL" or "NVIDIA Parallel Nsight". |
Thank you for answering my questions! Well I have got a better result by check out your latest code. _backbufferStage->addProgramPass(new VoxelizePass(params.voxel_grid_sidelengths, &_vctScene, kore::EXECUTE_ONCE)); and run this code for (uint i = 0; i < vRenderNdoes.size(); ++i) {
NodePass* nodePass = new NodePass(vRenderNdoes[i]);
this->addNodePass(nodePass);
MeshComponent* meshComp =
static_cast<MeshComponent*>(vRenderNdoes[i]->getComponent(COMPONENT_MESH));
nodePass
->addOperation(OperationFactory::create(OP_BINDATTRIBUTE, "v_position",
meshComp, "v_position",
voxelizeShader));
nodePass
->addOperation(OperationFactory::create(OP_BINDATTRIBUTE, "v_normal",
meshComp, "v_normal",
voxelizeShader));
nodePass
->addOperation(OperationFactory::create(OP_BINDATTRIBUTE, "v_uv0",
meshComp, "v_uvw", voxelizeShader));
nodePass
->addOperation(OperationFactory::create(OP_BINDUNIFORM, "model Matrix",
vRenderNdoes[i]->getTransform(),
"modelWorld",
voxelizeShader));
nodePass
->addOperation(OperationFactory::create(OP_BINDUNIFORM, "normal Matrix",
vRenderNdoes[i]->getTransform(),
"modelWorldNormal",
voxelizeShader));
const TexturesComponent* texComp =
static_cast<TexturesComponent*>(
vRenderNdoes[i]->getComponent(COMPONENT_TEXTURES));
const Texture* tex = texComp->getTexture(0);
nodePass
->addOperation(OperationFactory::create(OP_BINDTEXTURE, tex->getName(),
texComp, "diffuseTex", voxelizeShader));
nodePass
->addOperation(new RenderMesh(meshComp));
} when the parameter "i">=9 if(NULL!=texComp){
const Texture* tex = texComp->getTexture(0);
nodePass
->addOperation(OperationFactory::create(OP_BINDTEXTURE, tex->getName(),
texComp, "diffuseTex", voxelizeShader));
} The program didn't crash but I got the massage "Dislay driver stopped responding and has recovered" from windows taskbar. Greetings! |
When I run the program , I got the warning "Too many temp register is used in Geometry shader , it may cause slow execution." in the file "KoRE_log.txt".I think maybe I can solve the problem by modify some parameters.But I can't find the right one to modify,can you give me some advice?
I am a beginner in the GPU programming area. Is there any tools can implement "shader debugging" in vs2012?
By the way,you really did an awesome job on this project!
Libaier
The text was updated successfully, but these errors were encountered: