タグ

openGLとAPIに関するedo_m18のブックマーク (4)

  • WebGLで複数のシェーダー使用時にハマる罠「俺のVBOがアタッチされてないわけがない!」 - Qiita

    はじめに 皆さんこんにちは! 日のWebGL界において、意識高い系WebGLおじさんとして知られるエマ・デュランダルさんですよ!(挨拶) さて、皆さんWebGL楽しんでますか? WebGLはネイティブのOpenGLと違い、glGetErrorとかglShaderInfoLogとかで明示的にエラー確認を行わなくても、エラーが発生した際はブラウザが親切にちゃんとコンソールにエラーメッセージを出してくれます。 非常に3Dプログラミングしやすい環境だと思います。 それでも、「どうしてもこのエラーが取れない!! 正しくWebGLのAPIを呼び出してるはずなのに、どうしてエラーが出るの!? 亡霊かよこのエラー!」っと叫びたくなる時もあるものです。 どうしてか。大抵の原因は、WebGL(及びそのベースとなったOpenGL ES)のAPIについての理解不足にあるんです。 おやおや、今日もWebGLで悩め

    WebGLで複数のシェーダー使用時にハマる罠「俺のVBOがアタッチされてないわけがない!」 - Qiita
    edo_m18
    edo_m18 2016/05/27
    おおお、これはとてもいい記事! gl系命令はほんと難解で、やってることは分かっても「なぜそうするか」が分からないことも多々あるのでほんとありがたいです!
  • ☆PROJECT ASURA☆ [Vulkan] 『はじめのVulkanプログラミング』

    OpenGLの後継であるVulkanがついに正式公開されました。 色々とやる前にまずは,開発環境の設定と初期化等を説明するためにクリアカラーを表示するだけの単純なサンプルを作ってみました。開発環境はWindowsを前提として,話を進めていきます。 OpenGLなどのAPIを策定するKhronos Groupは2015年のGDC(Game Developers Conference)で新しいグラフィックスAPI「Vulkan」(ヴァルカンと読む)を発表しました。 実は私GDCで実際に発表される場にいまして,当日は超満員で部屋に入れない人などももいました。講演開始の1時間前ぐらいに席取りのため着席したのですが,すで1時間以上前だというのに,人がちらほらいてあっという間に席は無くなってしまいました。 その時の講演の動画がYouTubeにアップロードされています。 さて,Vulkanの何

    ☆PROJECT ASURA☆ [Vulkan] 『はじめのVulkanプログラミング』
    edo_m18
    edo_m18 2016/05/09
    Vulkanの画面に色出すだけのコード量ヤバイ。
  • Metalの「shared CPU/GPU memory buffer」について : DSAS開発者の部屋

    iOS8のリリースにより、A7を搭載したiOS端末からはOpenGLESに代わる新グラフィックスAPIであるMetalが動くようになりました。 iOS8発表時のAppleのKeynoteで紹介されたとおり、MetalはOpenGLとくらべてAPIの層が薄くて最適化されているので高速に動作するようで、他の多くの記事でもこの事が書かれています。 しかし実際にMetalに触れてみると、単にAppleのハードウェアに最適化されていてオーバーヘッドが低く速いということに留まらず、ある一つの特長に気付きます。 それは「shared CPU/GPU memory buffer」つまりCPU/GPU間でメモリが共有されているというものです。 ここでは今までiOSの3Dアプリケーション開発に利用されていたOpenGLESでのメモリの扱い方と比較しつつ、CPU/GPU間でメモリが共有されることのメリットについ

    Metalの「shared CPU/GPU memory buffer」について : DSAS開発者の部屋
  • WebGL 入門 その1

    最近 WebGL の勉強を始めまして、doxas さんが主催している WebGL 勉強会に参加している。 WebGL、かなりややこしい感じなので、受講した日はその日の情報を咀嚼しようと思った。 (有料の講座ですが、こういうの書くのは講師の方に許可得てます。) 今日は WebGL の基的な部分の話だった。 基の部分で既に無事死亡している。 WebGL とは GPU に直接アクセスできるブラウザに組み込まれた API で、OpenGL というネイティブで動作するグラフィック API を、ブラウザから呼び出すパイプ的な存在。 直接 GPU を利用できるので、すっごい高速。ぬるぬるしてるのはそういうことなんですね。 ただ、ブラウザに組み込まれた API ということは、つまりブラウザ側の実装に依存しているというわけで、ブラウザ間の差異や、そもそも OS レベルで無効化されてることもあるそう。 ま

  • 1