دعم غلديبث_مكون ل كوداغرافيكسجليجيستيريماج

StackOverflow https://stackoverflow.com/questions/5904998

  •  29-10-2019
  •  | 
  •  

سؤال

أحاول إجراء تقديم جنبا إلى جنب مع برنامج أوبنغل لتقديم مضلع و كودا لتقديم حجم.فكرتي هي تقديم مشهد برنامج أوبنغل إلى فريمبوفر ، ثم استخدام هذا اللون والعمق العازلة كمدخل إلى بلدي كودا العارض ، واستخدامه بنفس الطريقة كما يفعل برنامج أوبنغل ، حتى أحصل على ألفا السليم وعمق التركيب.

ومع ذلك ، أنا على التوالي في مشكلة.عندما أتصل:

glGenTextures(1, &m_tex_color);
glGenTextures(1, &m_tex_depth);

glBindTexture(GL_TEXTURE_2D, m_tex_color);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_iWidth, m_iHeight, 0,
             GL_RGBA, GL_UNSIGNED_BYTE, 0);
glBindTexture(GL_TEXTURE_2D, m_tex_depth);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, m_iWidth, m_iHeight, 0,  
             GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0);
glBindTexture(GL_TEXTURE_2D, 0);

glGenFramebuffersEXT(1, &m_fbo);
glBindFramebuffer( GL_FRAMEBUFFER, m_fbo);

glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
                       GL_TEXTURE_2D, m_tex_color, 0 );
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
                       GL_TEXTURE_2D, m_tex_depth, 0 );
cudaError_t b;
b = cudaGraphicsGLRegisterImage(&m_cuda_color_resource, m_tex_color,
                                GL_TEXTURE_2D, cudaGraphicsMapFlagsNone);
printf("%s",  cudaGetErrorString(b));
b = cudaGraphicsGLRegisterImage(&m_cuda_depth_resource, m_tex_depth,
                                GL_TEXTURE_2D, cudaGraphicsMapFlagsNone);
printf("%s",  cudaGetErrorString(b));

أحصل على أي خطأ في أول cudaGraphicsGLRegisterImage, ، ولكن خطأ "وسيطة غير صالحة" في الثانية.لا كودا 3.2 لا يدعم تسجيل القوام مكون عمق?هل 4.0 (عندما يخرج)?هل هناك طريقة أخرى للتعامل مع هذا أنني في عداد المفقودين?

هل كانت مفيدة؟

المحلول

كودا غل الملمس إنتيروب لا يدعم حاليا غلديبث_كومبوننت (اعتبارا من كودا 4.1).

تم تجاهل هذا للأسف في وثائق كودا.تم تقديم خطأ في التوثيق لتصحيح ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top