Graphics 使用WebGL代替桌面OpenGL

Graphics 使用WebGL代替桌面OpenGL,graphics,opengl-es,webgl,Graphics,Opengl Es,Webgl,我必须做一个基本的计算机图形学任务,在这个任务中,我必须在屏幕上显示一个基本模型,并让用户控制移动模型组件的位置/方向。我对OpenGL有一定的背景,但我想在WebGL中做这个作业。所以我想知道的是WebGL中的功能是否有任何限制?我将在Windows上工作,因此我可以选择学习DirectX,但这有一个陡峭的学习曲线,并且受到平台的限制。另外,在使用WebGL时,我应该准备哪些可能的问题?假设我有一个最新的图形卡。基本上,你可以在OpenGL中做的大部分事情,你可以在WebGL中做。不过,有一些

我必须做一个基本的计算机图形学任务,在这个任务中,我必须在屏幕上显示一个基本模型,并让用户控制移动模型组件的位置/方向。我对
OpenGL
有一定的背景,但我想在
WebGL
中做这个作业。所以我想知道的是
WebGL
中的功能是否有任何限制?我将在
Windows
上工作,因此我可以选择学习
DirectX
,但这有一个陡峭的学习曲线,并且受到平台的限制。另外,在使用
WebGL
时,我应该准备哪些可能的问题?假设我有一个最新的图形卡。

基本上,你可以在OpenGL中做的大部分事情,你可以在WebGL中做。不过,有一些警告:

  • 与C++/Java/.Net相比,javascript的性能非常糟糕,即使对于最近的引擎也是如此
  • 你的代码是公共的,不是二进制的
  • 您缺少许多开发工具:像glm这样的少数库;示范进口商;格德布格;等
  • 你主要局限于3D图形:试着运行一些以“物理”为特色的演示,看看性能。在其他语言中,您拥有所有标准物理引擎(PhysX、Havoc、Bullet等)
  • 你不会得到OpenGL所有闪亮的新扩展。事实上,你甚至没有得到OpenGL3

好的一面是,它比其他方法更容易设置:只需剪切粘贴教程的html代码,就可以开始了。没有包含路径,没有依赖项,等等。如果你的任务真的只是简单地画一个简单的模型并用鼠标旋转它,那么WelGL可能是一个不错的选择。

基本上,你可以在OpenGL中做的大多数事情,你可以在WebGL中做。不过,有一些警告:

  • 与C++/Java/.Net相比,javascript的性能非常糟糕,即使对于最近的引擎也是如此
  • 你的代码是公共的,不是二进制的
  • 您缺少许多开发工具:像glm这样的少数库;示范进口商;格德布格;等
  • 你主要局限于3D图形:试着运行一些以“物理”为特色的演示,看看性能。在其他语言中,您拥有所有标准物理引擎(PhysX、Havoc、Bullet等)
  • 你不会得到OpenGL所有闪亮的新扩展。事实上,你甚至没有得到OpenGL3

好的一面是,它比其他方法更容易设置:只需剪切粘贴教程的html代码,就可以开始了。没有包含路径,没有依赖项等。如果您的作业真的只是简单地绘制一个简单的模型并用鼠标旋转它,那么WelGL可能是一个不错的选择。

在WebGL IMO中这样做有巨大的优势

  • 你有所有的HTML5来帮助你。
    • 你可以免费下载图片
    • 自由鼠标输入
    • 自由键盘输入
    • 免费跨平台音频
    • 免费跨平台字体和文本
    • 用于生成纹理或操纵图像的免费二维库
  • 你是跨平台的开箱即用
    • 一个朋友有一台mac,另一台Linux,它可以正常工作
    • 你几乎可以从任何地方访问它
    • 把你的代码放到github上,发布它,你可以在任何地方运行和编辑。忘了你的机器?只需使用众多直接github编辑器之一在线编辑(或使用dropbox)
    • 需要帮助吗?给某人发一个链接。他们可以运行、检查并帮助您,即使他们有不同的机器。不需要兼容的C++编译器或GASILLIN库。

    • 在WebGL IMO中执行此操作有巨大的优势

      • 你有所有的HTML5来帮助你。
        • 你可以免费下载图片
        • 自由鼠标输入
        • 自由键盘输入
        • 免费跨平台音频
        • 免费跨平台字体和文本
        • 用于生成纹理或操纵图像的免费二维库
      • 你是跨平台的开箱即用
        • 一个朋友有一台mac,另一台Linux,它可以正常工作
        • 你几乎可以从任何地方访问它
        • 把你的代码放到github上,发布它,你可以在任何地方运行和编辑。忘了你的机器?只需使用众多直接github编辑器之一在线编辑(或使用dropbox)
        • 需要帮助吗?给某人发一个链接。他们可以运行、检查并帮助您,即使他们有不同的机器。不需要兼容的C++编译器或GASILLIN库。

      如今javascript的性能并不糟糕——它的速度在c/c++@ScottStensland的一个数量级之内,这就是我所说的糟糕。谷歌地图在我的智能手机上比在四核上快。今天javascript的性能并不糟糕——它的速度在c/c++@ScottStensland的一个数量级之内,这就是我所说的糟糕。谷歌地图在我的智能手机上比在四核上更快。