C#开发的OpenRA的纹理图片显示到顶点缓冲区

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#开发的OpenRA的纹理图片显示到顶点缓冲区相关的知识,希望对你有一定的参考价值。

C#开发的OpenRA的纹理图片显示到顶点缓冲区

基于平时对OpenGL的理解,我们知道通过GLSL着色器可以接收数据来显示了。

前面也说明了怎么样加载纹理图片,以及还说明了怎么样根据纹理图片的大小来分割UI来显示。

但是我们还没有讨论怎么样把一小片纹理图片放到顶点缓冲区里显示,

所以这里继续前一次的讨论,以便理解怎么样把一小片纹理图片显示到顶点缓冲区里。

前面通过调用函数:

WidgetUtils.DrawPanel(bounds, border);

来显示加载游戏界面的边框,bounds整个屏幕的大小,border是9个边框的纹理数组。

接着下来就会调用函数FillRectWithSprite来显示每一个边框,在这个函数里主要针对每一个边框进行拆分,

因为每一个边框的长度,可能都大于纹理图片的尺寸,如果使用整个纹理,就会需要插值,

这样导致界面显示会不太好,所以进行切分一下,就不需要进行插值了。

所以到下面这行代码:

DrawSprite(ss, new float2(x, y));

这时的ss就是切分之后的纹理图片大小,(x, y)就是纹理最新的显示位置。

以上是关于C#开发的OpenRA的纹理图片显示到顶点缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

C#开发的OpenRA的管理FBO(Framebuffer Object)

C#开发的OpenRA的管理FBO(Framebuffer Object)

C#开发的OpenRA的游戏主界面怎么样创建6

C#开发的OpenRA的OpenGL创建纹理流程

C#开发的OpenRA的OpenGL创建纹理流程

C#开发的OpenRA的GLSL介绍