gpt4 book ai didi

opengl - 如何设计 OpenGL DirectX "Abstraction Layer"

转载 作者:行者123 更新时间:2023-12-04 13:21:19 24 4
gpt4 key购买 nike

我正在阅读有关创建图形“抽象层”以方便在图形平台之间切换的信息。不幸的是,我无法找到有关该主题的详细信息。这种抽象可以在函数级别通过这样的方式实现吗?

void pushMatrix(){
if (directx){
// do directx function

}else if (opengl){
// do opengl function
}

}

这是它的工作原理吗?有没有更好的办法?谁能指出一些执行此操作的示例或更多示例代码?

最佳答案

通常做的是有一个“通用”渲染器的接口(interface):

class RendererInterface{
virtual DrawMesh() = 0;
virtual SwapBuffers() = 0;
/// etc
}

每个库都有一个实现:
class OpenGLRenderer : public RendererInterface{
virtual DrawMesh(){... }
....
}

但这个概念与亚历山大的答案相同。

关于opengl - 如何设计 OpenGL DirectX "Abstraction Layer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3697001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com