首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL/通用图形的最佳动态语言

OpenGL/通用图形的最佳动态语言
EN

Stack Overflow用户
提问于 2009-12-15 08:17:15
回答 5查看 3.1K关注 0票数 7

编写图形化程序最成熟和最受支持的解决方案是什么?

我一直在使用C++和OpenGL/GLUT,但我想尝试一种更灵活和更有表现力的方法。

Ruby和处理?巨蟒和食人魔?哪些事情对你来说效果很好?

EN

回答 5

Stack Overflow用户

发布于 2009-12-15 09:06:01

如果你只是对实验感兴趣,我建议你为你已经熟悉的动态语言选择一个具有绑定的3D框架。

我在一两年前就开始用Ruby/OpenGL做实验,这很容易上手。

如果您真的想要构建一个项目(无论出于什么原因),我建议您选择一个基于以下各项组合的框架

  • 实现框架的本地语言(或运行时)
  • 可用于引擎或运行时的动态语言绑定

的许可

如果您希望您的项目能够在不同的操作系统上轻松运行,那么您可能希望选择一个用Java语言编写的框架(因为Java虚拟机可以在任何地方运行),并使用Ruby (jRuby)或JavaScript (因为这些语言在那里得到了很好的支持)进行绑定。然而,这将限制您可用的框架。(这是我对OSS + linux的偏见)。

维基百科有一个list of game engines。基于几个标准,我用jMonkeyEngine (v2)开始了一个项目,我发现它很容易使用和控制Rhino (一种JVM JavaScript实现)。

我最近看到了另一个基于Java的框架的演示文稿,它绑定了几种语言,看起来非常酷(灵感来自Ogre引擎),但我忘记了它的名字,在列表中找不到它。

在做C#的时候,我确实考虑过同时针对dotNet和Mono的跨平台运行的项目/框架,但要获得(Tao?)的开发版本太麻烦了。框架和Mono Lua绑定运行。也许事情已经改变了。

总而言之,选择一个框架,它可以运行在您想要的环境中,并具有您想要使用的动态语言的绑定。即使您想要使用的动态语言可用的框架库代码非常少,如果您能够使用底层语言,您也可以很容易地扩展它。如果您精通C++,那么Java和C#应该不会太麻烦。

票数 8
EN

Stack Overflow用户

发布于 2009-12-15 08:20:37

考虑到您熟悉C++,您可以尝试一下Lua。Lua是一种动态语言,可以嵌入到任何C/C++程序中。它在游戏行业非常受欢迎。

票数 5
EN

Stack Overflow用户

发布于 2010-04-20 19:15:07

我想提一下Python和PyOpenGL作为一个考虑的选项。

如果您已经熟悉OpenGL,那么PyOpenGL基本上就是一个用Python语言编写的API包装器。一开始,我很惊讶Python和C++中的代码看起来是如此相似。如下所示(注意,我也在使用Pyglet):

代码语言:javascript
复制
def setup_render(self):
    '''First rendering setup'''
    glClearColor(0.0, 0.0, 0.0, 1.0) 
    glClearDepth(1.0)       

    glEnable(GL_LIGHTING)       
    glEnable(GL_DEPTH_TEST)    
    glEnable(GL_ALPHA_TEST)         
    glEnable(GL_CULL_FACE)              

def draw(self, time_passed):
    '''Drawing events'''
    if self.has_exit:
        pyglet.app.exit()
        return

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    glUseProgram(self.shader.program)
    self.set_lights()

    # Draw objects here
    glTranslate(0, 0, -10)
    glScale(5.0, 5.0, 5.0)
    glutSolidSphere(1, 16, 16)

看看它与C++代码有多相似。

我能够用Python语言快速学习PyOpenGL,并实现了一个少于200行的四元数类。如果你对Python感到满意,我会毫不犹豫地推荐你去看看。

顺便说一句,PyOpenGL's API documentation也比official one的可读性强得多。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1904454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档