Help us understand the problem. What is going on with this article?

WebGL に対応する C++ なフレームワーク

More than 1 year has passed since last update.

Unity や UE4 といったゲームエンジンを使うには重すぎるけど、3D 描画処理を直接書きたくないという中間解な(シーングラフ)フレームワークをのせます。いずれも emscripten 経由で WebGL に対応。これ以外に何かあればコメントください。

minko

もともと Stage3D を搭載する Flash Player 向けの 3D フレームワークだったが、3.0 から C++11 を使って書き直され、OpenGL の汎用的な 3D フレームワークとなった

  • Windows/OSX/Linux/iOS/Android に対応
    • WebGL 対応はプラグインとして提供されている
    • minko/plugin/webgl/README.md で言及している emscripten のインストール方法のリンクが 404 になってしまうが正しいリンクは http://doc.v3.minko.io/wiki/Targeting_HTML5
  • プラグイン経由で SDL2 上で動作。作れば GLFW もいける?
  • JSON 形式のエフェクトでシェーダ言語は GLSL を使う
  • email 対応または電話対応によるサポートを行う商用版もある
  • github 上でソースコードが公開されている
  • MIT ライセンス

bgfx

クロスプラットフォームなレンダリングに特化したフレームワーク

  • Windows/OSX/Linux/iOS/Android に対応
    • Windows に関しては Direct3D に対応
    • SDL2 または GLFW 上で動作
    • C99 API もあり、それを使ったバインディングもある
  • GLSL に近い独自のシェーダを使う
    • エフェクトシステムはないようだ
  • github 上でソースコードが公開されている
  • 2条項 BSD ライセンス

magnum

C++11 をベースとする 2D/3D 両利きのグラフィックエンジン

  • Windows/OSX/Linux に対応
    • SDL2 または GLUT 上で動作
  • OpenGL に特化
  • github 上でソースコードが公開されている
  • MIT ライセンス

oryol

C++11 をベースとするグラフィックエンジン

  • Windows/OSX/Linux に対応
  • OpenGL に特化
    • 後述の sokol に置き換えたことからポータブルになりました
  • github 上でソースコードが公開されている
    • Core/Gfx を中心として複数のモジュールで構成されている
    • ライブデモ あります
  • MIT ライセンス

sokol

C 言語でかかれた最小主義のグラフィックライブラリ

  • Windows/macOS/Linux に対応
  • single_file_libs の流儀に沿う形でヘッダーオンリー
  • 前述の Oryol が使用している
  • サンプルは sokol-samples で公開されてる
  • zlib ライセンス

番外

WebGL 出力が出来ない、あるいは C++ ではないと条件を満たせなかったもの

three.cpp

three.js の C++ 移植。WebGL での出力に対応しているか怪しいため番外枠。また、実装ベース元は r50 と古く、現在 r65 ベースの実装が進められている

  • C++11 で記述
  • ヘッダーオンリー
  • github 上でソースコードが公開されている
  • MIT ライセンス

libGDX

プレフィクスに lib ってついてるから C/C++ っぽく見えるけど Java の実装で、WebGL での出力が可能。ちなみに Qiita 内に libGDX のタグ がある

gfx-rs/wgpu

Rust で書かれているものの wgpu-native による C API が存在するため C/C++ から利用することが可能だが WebGPU 向けのライブラリのため除外

shimacpyon
しまぴょんです。主に C++/Qt について書いています。
http://blog.hikarin.jp
dwango
Born in the net, Connected by the net.
https://dwango.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした