unity3D如何渲染图片?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity3D如何渲染图片?相关的知识,希望对你有一定的参考价值。
参考技术A 如果只考虑移动端,unity底层是调用了OpenGL来实现一个图片的渲染。如果是3D的一个quads,也就是你游戏世界的一个板子,默认是带了一个material的,那么就是基于shader的渲染实现。这样的shader里面会有一个texture变量,渲染的步骤大致如下:1、shader编译
2、vertex和fragment link出program
3、在一次drawcall中,获取texture变量的location;激活纹理单元(单纹理的话不需要专门激活);bind纹理数据到纹理单元;将纹理单元中的数据赋值给location位置的插槽。
4、在shader中调用texture采样纹理数据。
以上省略的细节有texcoord的赋值,vs和fs数据的传输等。
如果不基于shader而是纯OpenGL API的使用,大致代码如下
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture1);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-0.1f, -0.1f, -0.4f);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(0.1f, -0.1f, -0.4f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(0.1f, 0.1f, -0.4f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-0.1f, 0.1f, -0.4f);
glEnd();
以上是关于unity3D如何渲染图片?的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D 灵巧小知识点 ☀️ | 使用代码控制 Image图片层级渲染 顺序