OpenGL是一种什么样的技术?

0 条评论


  • 3

    NetFlyEngine Programmer

    HighwindNeighbor王xp 赞同

    VR的话,你们更多研究的应该是Value的OpenVR吧..或者可以考虑直接选择一款游戏引擎来做..比如Unreal/Unity/Cocos等...如果是自研引擎或者涉及硬件/SDK/Runtime之类的就另说了...

    在这里再简单说下OpenGL 。。。OpenGL到底是什么玩意?一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范..

    OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。至于内部具体每个函数是如何实现(Implement)的,将由OpenGL库的开发者自行决定(这里开发者是指编写OpenGL库的人)。因为OpenGL规范并没有规定实现的细节,具体的OpenGL库允许使用不同的实现,只要其功能和结果与规范相匹配(作为用户不会感受到功能上的差异)。


    实际的OpenGL库的开发者通常是显卡的生产商。你购买的显卡所支持的OpenGL版本都为这个系列的显卡专门开发的。当你使用Apple系统的时候,OpenGL库是由Apple自身维护的。在Linux下,有显卡生产商提供的OpenGL库,也有一些爱好者改编的版本。这也意味着任何时候OpenGL库表现的行为与规范规定的不一致时,基本都是库的开发者留下的bug。

    OpenGL自身是一个巨大的状态机(State Machine):一系列的变量描述OpenGL此刻应当如何运行。OpenGL的状态通常被称为OpenGL上下文(Context)。我们通常使用如下途径去更改OpenGL状态:设置选项,操作缓冲。最后,我们使用当前OpenGL上下文来渲染。

    假设当我们想告诉OpenGL去画线段而不是三角形的时候,我们通过改变一些上下文变量来改变OpenGL状态,从而告诉OpenGL如何去绘图。一旦我们改变了OpenGL的状态为绘制线段,下一个绘制命令就会画出线段而不是三角形。

    当使用OpenGL的时候,我们会遇到一些状态设置函数(State-changing Function),这类函数将会改变上下文。以及状态应用函数(State-using Function),这类函数会根据当前OpenGL的状态执行一些操作。只要你记住OpenGL本质上是个大状态机,就能更容易理解它的大部分特性。

    最后简单总结下 OpenGL是一个图形规范,并不是一个独立的平台,它需要一个编程语言来工作  主要来说就是Cpp...一般使用GL的地方也就是图形渲染方面:)

    更新于 2017-04-07 10:58:40 1 条评论


  • 1

    九尾感应炮

    Highwind 赞同

    OpenGL、Direct3D、Vulkan都是图形api,能实现的功能上并没有多少不同。现在的游戏引擎都是同时支持多种api。目前openGL已经停止更新了,后续将被vulkan代替。openGL开发很蛋疼的是驱动bug多,而且各家的bug还不一样。

    发布于 2017-04-07 12:38:04 3 条评论


  • 1

    琪露诺游戏喜好偏软。

    Highwind 赞同

    维基百科:https://zh.wikipedia.org/wiki/OpenGL

    从道理上说,OpenGL是一套跨平台的图形API。传统上写一些图形代码,在屏幕上绘图,或者调用硬件的图形加速功能都是需要在硬件驱动的层面上操作的,而OpenGL提供了一些比较上层的接口,让开发人员不需要关注底层的驱动,能够以更加普遍的方式去写图形程序。

    在游戏领域更有名的d3d,就是和OpenGL属于同一层级的东西——比硬件驱动要高,提供一些绘图相关的功能和接口,但是算不上高度抽象和集成的“游戏引擎”。

    如果直接用OpenGL开发,自己见到的C++比较多,也有Java吧。可以搜索“OpenGL教程”,或者“OpenGL范例”,有很多例子可以直接参考的。如果找一门计算机图形学的在线公开课,用的例子很多时候也是OpenGL。如果是个人项目、学校项目这类规模并不大的,应该够用了吧。

    发布于 2017-04-07 03:27:01 0 条评论

  • 1个回答被折叠 (为什么折叠?)


  • 0

    tony一切都应尽量简单,但又不可过于简单

    thanks for your your idea

    发布于 2017-04-07 12:36:21 0 条评论 禁止转载

  • 登录奶牛关账号即可参与讨论

{{question['follower_count']}} 个玩家关注

...

相关元素

相关问题

2016 年有哪些值得期待的 VR 游戏?

6人关注 2个回答

如果未来VR流行,2D独立游戏会不会没人玩了?

16人关注 22个回答

Illusion的游戏 VR Kanojo (vr カノジョ)有机会通过绿光吗?

10人关注 8个回答