Community
Maya Programming
Welcome to Autodesk’s Maya Forums. Share your knowledge, ask questions, and explore popular Maya SDK topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MUserRenderOperation execute() not called with render target override

0 REPLIES 0
Reply
Message 1 of 1
Anonymous
281 Views, 0 Replies

MUserRenderOperation execute() not called with render target override

I have defined an MUserRenderOperation in order to render to a depth map in Viewport 2.0. I created a description for the render target which is 

 

renderTargetDesc = new MHWRender::MRenderTargetDescription(MString("DepthMap"),
2048, // width
2048, // height
1,
MHWRender::MRasterFormat::kD24X8, // raster format - 24 bit depth
5, // number of layers
false // is cubemap
);

 

I then acquire the render target using the following code:

 

MHWRender::MRenderer *theRenderer = MHWRender::MRenderer::theRenderer();
const MHWRender::MRenderTargetManager* targetManager = theRenderer->getRenderTargetManager();
renderTarget[0] = targetManager->acquireRenderTarget(*renderTargetDesc);

 

Once acquired I set it each frame in my implementation of MHWRender::MRenderTarget** ShadowRenderer::targetOverrideList(unsigned int &listSize).

 

When I set the render target the MUserRenderOperation.execute() is never called. Strangly, if I return NULL from targetOverrideList() instead of setting a render target execute() is called and I can perform rendering to the frame buffer.

 

Can anyone explain how to set a custom render target in a user operation?

 

I attached the full class source code.

0 REPLIES 0

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report