タグ

OpenGLに関するgam-22のブックマーク (9)

  • GCPのGPUインスタンスでレンダリングを高速化 - 株式会社カブク

    はじめに カブクの甘いもの担当兼コーヒーマシン清掃担当の高橋憲一です。 今回は最近GCPで使用可能になったGPUインスタンスを活用して3Dモデルのレンダリングを高速化したことについて書きます。 カブクのレンダリングエンジン Kabuku Connect、Kabuku MMS、Rinkak等、カブクが提供しているサービスで使うための3Dモデルのプレビュー画像はサーバーサイドで動作する自社開発エンジンでレンダリングしています。グラフィクスAPIとしてOpenGLを使用しており、これまではOpenGL互換のライブラリであるMesaを使ってオフスクリーンレンダリングを行っていました。それにより、GPUを搭載していないマシンでもCPUの処理のみでレンダリングすることができます。ただしCPUのみでのレンダリングはやはり時間がかかるため、クラウドのインスタンスでのGPU活用は2年程前のエンジン運用投入当

    GCPのGPUインスタンスでレンダリングを高速化 - 株式会社カブク
    gam-22
    gam-22 2017/04/12
    GCPでもGPU使えたんだね
  • Emscriptenを使ってブラウザ上でレイトレする - Qiita

    これはKLab Advent Calendar 2016の5日目の記事です。 C++で開発したレイトレーサ「tsukihi」をEmscriptenを使ってJavaScriptに変換して、ブラウザ上で動作させました! 次のリンクから動作を確認できます。 #emscripten_tsukihi - gam0022.net/webgl tsukihiはレイトレ合宿4!?向けにeduptをベースに開発したレンダラーです。 この記事の前半では、レイトレーサにおけるGPU実装の課題や制約などについて紹介します。 後半では、実際にC++のレイトレーサをEmscriptenで移植して得られた知見などを紹介します。 Emscriptenの紹介と導入方法 EmscriptenでOpenGL+GLFW3をビルドする注意点 Emscriptenの印象 読者の対象としては、レイトレは実装したことがあるけど、Emsc

    Emscriptenを使ってブラウザ上でレイトレする - Qiita
  • GLSL で暖を取るための準備をしよう! GLSL お役立ちマニュアル - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 稿は、WebGL で GLSL を使って暖を取るために個人的にまとめたもので、もしかしたら仕様と異なるような表記や勘違いがあるかもしれません。そういうの見つけたときはぜひ教えてください。🔥🔥🔥 GLSL やシェーダに気軽に触れてみてほしい、楽しく取り組んでみてほしいという観点からやや崩れた文体で、イメージのしやすさ優先で書いてます。そういうの苦手な人は公式の仕様を見ましょうね。 GLSL について知る GLSL がなんであるかは、たぶんこの記事を読んでいる方には説明不要かと思いますが、あえて簡単に説明します。 まず、P

    GLSL で暖を取るための準備をしよう! GLSL お役立ちマニュアル - Qiita
    gam-22
    gam-22 2016/12/02
    良記事!
  • emscriptenとOpenGL ES2.0でhello, world - simpgの日記

    emscriptenがOpenGL ES 2.0(WebGL)+GLUTをサポートしているので、OpenGL ES2.0で"hello, world"。emscriptenのセットアップはこちら。 emscripten/tests/hello_world_gles.cpp emscripten/tests/glbook/Chanpter_9/Simple_Texture2D を参考に作成。(200行くらいになってしまったので記事の最後にhello.cを貼りました。) glutBitmapCharacterは使えるか不明だったのでテクスチャで"HELLO, WORLD"を表示する。 まずは、GLEWを使ってgccでビルド。 $ sodo apt-get install freeglut3-dev libglew1.6-dev $ gcc hello.c -l glut -lGLEW -o h

    emscriptenとOpenGL ES2.0でhello, world - simpgの日記
  • OpenGL ES 3.0のGLSL ES 3.0変更点まとめ - ラーメンは味噌汁

    2013-09-17 OpenGL ES 3.0のGLSL ES 3.0変更点まとめ OpenGL ES 3.0 今回はGLSL側の変更点をまとめます。OpenGL ES 2.0の時はGLSL ES 1.0でしたが OpenGL ES 3.0ではGLSL ES 3.0にバージョンアップしてます。OpenGL ES2.0からOpenGL ES3.0は完全上位互換でしたがGLSL側は削除された機能もあり大きく変更されています。 参考 OpenGL ES Shading Language 3.00.4 OpenGL ES Shading Language (GLSL ES) Reference Pages OpenGL ES 3.0 API Reference Card Preprocessor バージョン "#version 300 es"と先頭に指定することでGLSL ES 3.0とし

    gam-22
    gam-22 2016/11/08
    来たるWebGL2に備えて、GLSL ES 3.0を勉強するぞ!
  • opengl:glsl_hlsl [HYPERでんち]

    GLSL = OpenGL 2/3/4, OpenGL ES 2/3, Vulkan, SpliteKit (watchOS)

  • opengl:glsl [HYPERでんち]

    OpenGL のシェーダー記述言語である GLSL は GPU ドライバによって解釈されます。 GPU メーカーの種類だけ GLSL コンパイラが存在しておりそれぞれ実装が異なっています。 この点は DirectX の hlsl との大きな違いとなっています。

    gam-22
    gam-22 2015/12/15
    “これはループ回数が定数ならば、Unroll できるためです。”
  • OpenGLで星を描く時の注意。 | Blog.Ash1taka.com

    星を描くというよりは、GL_POLYGONの挙動について。ちなみにこれで2日間くらいはまってた。アホだ。 最初はこんなソース書いてた。星にならなかった。ちなみに、tは与えられた基準点、r2は星型の長い方の半径、r1は短い方の半径。 glBegin(GL_POLYGON); for(i=0;i<10;i++){ if( i % 2==0){ Ax = t.x+r2*sin(2*M_PI*2*i/10); Ay=  t.y+r2*cos(2*M_PI*2*i/10); } else { Ax = t.x+r1*sin(2*M_PI*2*i/10); Ay = t.y+r1*cos(2*M_PI*2*i/10); } glVertex2f(Ax, Ay); } glEnd(); 読んでいただければ分かるかもしれないけど、forで10回回して、iが偶数の時は長く、奇数の時は短く…と出力させている。

    gam-22
    gam-22 2013/10/22
    ハマった
  • http://blog.monoweb.info/archives/1202

    gam-22
    gam-22 2010/12/09
    参考になる。
  • 1