在使用VR渲染器时模型不显示纹理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在使用VR渲染器时模型不显示纹理相关的知识,希望对你有一定的参考价值。

不显示纹理不算连颜色也没有,我先排除下你们说的几点可能:1材质球上我点了显示纹理,2材质球选项上我取消了自动调整纹理选项,3,VR渲染器面板的全局开关点选了贴图,以上均不能解决问题,请高手回答下能有效解决的办法。

参考技术A 请问 该物体 uvwmaping 了没有 给个uv 也许会好滴 参考技术B UV贴图加了吗

纹理小部件渲染 OpenGL 示例

【中文标题】纹理小部件渲染 OpenGL 示例【英文标题】:Texture widgets render OpenGL example 【发布时间】:2018-09-09 14:07:44 【问题描述】:

我的 Flutter 应用需要显示 3d 模型并允许用户旋转它。我通过本机视图(ViewController & Activity)和用于渲染的 C++ 代码实现了这一点,下一步我尝试使用Texture 小部件来删除本机视图并仅使用 Flutter。我设法通过FlutterTexture 在iOS 上显示OpenGL 渲染,但不明白如何在Android 上实现。你能举出一些例子吗?如何将 OpenGL 与 SurfaceTexture 一起使用并将其连接到 Texture 小部件?

【问题讨论】:

这不是一个完整的 OpenGL 示例,但 Flutter 的集成测试之一包括使用 SurfaceTexture:github.com/flutter/flutter/blob/… 【参考方案1】:

在配置 OpenGL 堆栈时,应将 SurfaceTexture 传递给 eglCreateWindowSurface

我花了一段时间构建了示例项目和文章: https://github.com/mogol/opengl_texture_widget_example https://medium.com/@germansaprykin/opengl-with-texture-widget-f919743d25d9

private void initGL() 
    egl = (EGL10) EGLContext.getEGL();
    eglDisplay = egl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);

    int[] version = new int[2];
    egl.eglInitialize(eglDisplay, version);

    EGLConfig eglConfig = chooseEglConfig();
    eglContext = createContext(egl, eglDisplay, eglConfig);

    eglSurface = egl.eglCreateWindowSurface(eglDisplay, eglConfig, texture, null);

    egl.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext);

【讨论】:

我根据你的成功构建了一个示例。它起作用了,但我在用 glTexImage2D 渲染到纹理时感到很挣扎。你能看看吗? ***.com/questions/58531692/…

以上是关于在使用VR渲染器时模型不显示纹理的主要内容,如果未能解决你的问题,请参考以下文章

用vray渲染器时,材质球上显示纹理,但物体上不显示是怎么回事

vary设定的贴图为啥显示不出来而且渲染之后只是单色而没有纹理

应用纹理时 Collada 模型不渲染

LibGDX 3d 模型纹理未正确渲染

VRAy for sketchup 渲染不显示材质纹理效果

我的渲染技术进阶之旅解决显示3D模型时因为使用stb_image库加载纹理时未翻转y轴导致模型纹理映射出错的问题