Hi!
I installed the new version of GSOPs 2.9.0 for Houdini 21.0 and tried to display a Gaussian through the gaussian_splats_source node. However, I didn't see anything in the viewport in smoothing mode.
In wireframe mode, the Gaussians are present. Apparently, rendering using Vulkan does not work in your version (the same was true in version 20.5). Houdini 21.0 uses Vulkan by default, and I would like to get results in it as well. As I wrote earlier, I compiled my gaussian_splats_source node for version 21.0 from the source code and solved this problem as follows (perhaps incorrectly) by modifying the GR_PrimGsplat::render() method from the GR_GSplat.C file:
void
GR_PrimGsplat::render(
RE_RenderContext r,
GR_RenderMode render_mode,
GR_RenderFlags flags,
GR_DrawParms dp)
{
if(!myWireframeGeo)
{
return;
}
//TODO, pass in r here, as different viewports could have different render modes.
GSplatRenderer::getInstance().setRenderingEnabled(render_mode < GR_RENDER_NUM_BEAUTY_MODES);
bool need_wire =(render_mode == GR_RENDER_WIREFRAME) || (flags & GR_RENDER_FLAG_WIRE_OVER);
// Only for shaded/beauty
GSplatRenderer::getInstance().setRenderingEnabled(!need_wire);
if(need_wire)
{
RE_Shader* sh = GsplatShaderManager::getInstance().getShader(GsplatShaderManager::GSPLAT_WIRE_SHADER, r);
r->pushShader(sh);
myWireframeGeo->draw(r, RE_GEO_WIRE_IDX);
r->popShader();
}
else
{
GSplatRenderer::getInstance().includeInRenderPass(myRegistryId);
if (mySetExplicitCameraPos)
GSplatRenderer::getInstance().setExplicitCameraPos(myExplicitCameraPos);
GSplatRenderer::getInstance().setSphericalHarmonicsOrder(myShOrder);
}
GSplatRenderer::getInstance().includeInRenderPass(myRegistryId);
if (mySetExplicitCameraPos)
{
GSplatRenderer::getInstance().setExplicitCameraPos(myExplicitCameraPos);
}
GSplatRenderer::getInstance().setSphericalHarmonicsOrder(myShOrder);
}
There is another problem in the UT_GSplatVectorTypes.h file.
Instead of:
typedef UT_Matrix4T<fpreal16> MyUT_Matrix4H;
I wrote:
typedef UT_Matrix4F MyUT_Matrix4H;
If I am incorrect in my conclusions, then I do not understand why gaussian is not displayed correctly in Vulkan.
Thank you.
Hi!
I installed the new version of GSOPs 2.9.0 for Houdini 21.0 and tried to display a Gaussian through the gaussian_splats_source node. However, I didn't see anything in the viewport in smoothing mode.
In wireframe mode, the Gaussians are present. Apparently, rendering using Vulkan does not work in your version (the same was true in version 20.5). Houdini 21.0 uses Vulkan by default, and I would like to get results in it as well. As I wrote earlier, I compiled my gaussian_splats_source node for version 21.0 from the source code and solved this problem as follows (perhaps incorrectly) by modifying the GR_PrimGsplat::render() method from the GR_GSplat.C file:
There is another problem in the UT_GSplatVectorTypes.h file.
Instead of:
typedef UT_Matrix4T<fpreal16> MyUT_Matrix4H;I wrote:
typedef UT_Matrix4F MyUT_Matrix4H;If I am incorrect in my conclusions, then I do not understand why gaussian is not displayed correctly in Vulkan.
Thank you.