Я новичок в jogl. Я кодирую 3D-рендеринг изображений DICOM. В то время как 3D-рендеринг изображений с использованием jogl, я создал crud 3D-вид. Последующие шаги следующие:Проблема во вращающемся трехмерном изображении изображений DICOM с использованием jogl
- Импортированный стек файлов DICOM.
- Создано BufferedImages из файлов.
Текстура создана для каждого изображения.
// Create a OpenGL Texture object for(int i=0;i<image.length;i++) { textures[i] = AWTTextureIO.newTexture(GLProfile.getDefault(), image[i], false); textureCoords = textures[i].getImageTexCoords(); textureTop[i] = textureCoords.top(); textureBottom[i] = textureCoords.bottom(); textureLeft[i] = textureCoords.left(); textureRight[i] = textureCoords.right(); }
Создан куб этих изображений, разместив их один за другим.
int x=numberOfImages; gl.glBegin(GL_QUADS); // To place stack back to front for(float i=-numberOfImages*0.0050f;x>0;i=i+0.01f){ // Enables this texture's target in the current GL context's state. textures[currTextureFilter].enable(gl); // Bind the texture with the currently chosen filter to the current OpenGL graphics context. textures[currTextureFilter].bind(gl); gl.glBegin(GL_QUADS); // of the color cube gl.glNormal3f(0.0f, 0.0f, (0.1f+i)); gl.glTexCoord2f(textureLeft[x], textureBottom[x]); gl.glVertex3f(-1.0f, -1.0f, (0.1f+i)); // bottom-left of the texture and quad gl.glTexCoord2f(textureRight[x], textureBottom[x]); gl.glVertex3f(1.0f, -1.0f, (0.1f+i)); // bottom-right of the texture and quad gl.glTexCoord2f(textureRight[x], textureTop[x]); gl.glVertex3f(1.0f, 1.0f, (0.1f+i)); // top-right of the texture and quad gl.glTexCoord2f(textureLeft[x], textureTop[x]); gl.glVertex3f(-1.0f, 1.0f, (0.1f+i)); // top-left of the texture and quad currTextureFilter =x; textures[currTextureFilter].disable(gl); x--; gl.glFlush(); gl.glEnd(); }
Указанные объекты в 3D изображений, такие как вращение, масштабирование и т.д.
При вращении 3D вида, интенсивность света изображений уменьшаются и при определенном угле, появляется черная полоса. Когда я увеличиваю эту часть, он показывает пробел в 2 изображениях. Я ошибаюсь на любом шагу? Пожалуйста, направляйте меня. Заранее спасибо.
Это очень широкая тема. Есть целые книги об объемном рендеринге. Получить что-то отображение легко. Делать это правильно и эффективно требует гораздо большего. –
@ Рето Коради: Я прошел учебники NEHE. Исходя из этого, я закодировал выше. Будете ли вы руководствоваться, чтобы сделать его правильным и эффективным? Мне не хватает правильного руководства. Можете ли вы предложить мне ссылку, сайты? – Deepti
Результаты моей работы в этой области описаны здесь: http://retokoradi.com/volume-rendering/. На самом деле, я не объясняю детали реализации, поэтому, вероятно, это будет не очень полезно для тиражирования результатов. Это довольно значительная часть программного обеспечения, с некоторыми оригинальными деталями, которые я нигде не разделял. –