当前位置: 首页 > 工具软件 > OpenRA > 使用案例 >

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

杨乐意
2023-12-01

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

前面介绍了纹理的加载,这样纹理就准备好了。

接着下来,就是怎么样把纹理显示,但是显示之前需要创建FBO对象。

因为现代的OpenGL流程基本上都是基于对象方式来进行设置,

不同旧的OpenGL基本缓冲区方式配置。

在OpenRA里,显示界面采用帧的方式:

Game.Renderer.BeginUI();

DisplayInner(Game.Renderer, sheet, density);

Game.Renderer.EndFrame(new NullInputHandler());

这段代码是文件SheetLoadScreen.cs的函数Display()里。

它首先调用BeginUI()来准备FBO对象,然后调用DisplayInner()函数来进行构造FBO对象的顶点和纹理坐标,

最后调用EndFrame()函数来把FBO对象显示到屏幕上。

BeginUI()函数管理着FBO的创建责任,它显示界面时的代码如下:

BeginFrame();

screenBuffer.Bind();

这里调用BeginFrame()准备FBO对象,它是通过类FrameBuffer来实现的。

screenBuffer就是一个类FrameBuffer对象,它是通过下

 类似资料: