I would like to start off by saying that I am very proud of this tutorial. When I first got the idea to code an AVI player in OpenGL thanks to Jonathan de Blok, I had no idea how to open an AVI let alone code an AVI player. I started off by flipping through my collection of programming books. Not one book talked about AVI files. I then read everything there was to read about the AVI format in the
いつもABARSの運営するサービスをご利用いただき、どうもありがとうございます。この度、運営中の下記のサービスを、2023年1月31日をもって、終了させていただくこととなりましたので、お知らせさせていただきます。 [終了するサービス] ・イラストブック ・メトセライズデストラクタを含む各種ゲーム ・ABARS ADDON [終了する媒体] ・ABARS公式ページ(abars.biz、abars.net) ・BLOG [継続するサービス] ・TDNetSearch ・TDNetView 終了するサービスに関しまして、Adobe Flash、Python 2.7をベースとして開発しており、Adobe Flashは開発終了、Python 2.7はメンテナンスフェーズに入っており、現状のコードベースでは大きく手を入れない限り運営を継続することが難しくなっており、この度、サービス提供を終了させていた
Apple が iPhone 5s の発表会で見せたグラフが示す様に、モバイルデバイス向けのGPUの性能の向上は著しい。GPU を上手に活用すると、3Dゲームだけでなく、画像処理などの科学技術計算が大幅に高速化出来るのだが、開発環境が整っていない点が大きな問題だ。 私自身もカメラから取り込んだ動画をリアルタイムで画像処理するアプリケーションを OpenGL を使って開発していたのだが、(はっきり言って時代錯誤の API である)OpenGLでのプログラミングは苦痛極まりない上に、GPU を効率良く使うためにはさまざまな工夫が必要である。OSを開発した経験のある私としては、ここはなんとかしなければいけないと強く感じた。 そこで、OpenGL プログラミングの煩雑さに煩わせずにGPUを使った画像・動画処理が出来る様な開発環境 Video Shader を開発することにしたのだが、それがようやく
Quick Links Media Contacts: For more information: Jonathan Hirshon, Principal, Horizon PR (JavaScript must be enabled to view this email address) Phone: +1 (408) 393-4900 3rd August, 2009 – New Orleans, SIGGRAPH 2009 – The Khronos™ Group, today announced OpenGL® 3.2, the third major update in twelve months to the most widely adopted 2D and 3D graphics API (application programming interface) f
<< Random Page Programming C/C++ C# (with .net) Win32 RegEx Markdown (.md) Python (.py) Programming XBOX & 360 XDK Tuts NonXDK Tuts OpenXDK Tuts XNA with C# Tutorials Win32 DirectX3D(Win32) Maths of 3D ASM..10101 Java Physics Visual Studio Vulkan Graphics LaTeX Data Mining & Machine Learning AI Fractals Dual-Quaternions Shaders Vertex & Pixel Asm Cg Effect Files (fx) GLSL (glsl) WGSL (wgsl) Execut
Occlusion Queryを使って,物体を描画するのにどれくらいピクセルが割り当てられているかを調べ,ピクセルが全く割り当てられていない場合,カリングをして物体を描画しないようにしてしまう. …というのが自分なりの理解です. 今回,Occlusion Cullingを実装するのに,Occlusion Queryというものを使用します.これは,OpenGL 1.5から使えるようになった機能だったと思うので,まずOpenGL 1.5以上に対応している必要があります.まぁ,最近のGPUとかを積んでいるなら問題ないじゃないかと思います. それで肝心なのは使い方です. まずは,glGenQuery()関数を使って,クエリのIDみたいなものを生成しておきます.下のような感じです. 00068: GLuint g_teapotQuery = 0; 00069: GLuint g_planeQuery
それでは計算に移ります。 Catmull-Clarkの計算は、ある点(v1)に対して、その点を含む面、その点を含む線についてそれぞれの平均を使って求めていきます。 ここではv1しか計算しませんが、当然モデルの全頂点に対して計算します。 (とは言ってもこのケースはv1以外の点は全て終端となっていますので、他の点は計算できません。筆者愛用のメタセコイアでは計算できない終端に関してはオリジナルの点をそのまま使用しているようです。 終端の処理に関しては良い悪いの問題ではなく、どういう風に決まりをつけるかだと思います。まぁこのへんは筆者の偏見かもしれないのでグレーにしておきます。) まず、各平面のもつ頂点の平均を計算します。 これをQ1〜4とします。 例えばQ1は、 V8=( 0, 0, -200) V9=( 200, 0, -200) V2=( 200, 0, 0) V1=( 0,
ハマったのでメモ。 以前実装した細分割曲面(subdivision-surface)は制御メッシュが三角形メッシュに限定されていた。任意の多角形メッシュに拡張したかったので、Catmull-Clarkのアルゴリズムを実装することにした。 Googleで検索すると次のWikipediaのページがヒットした。 http://en.wikipedia.org/wiki/Catmull-Clark_subdivision_surface このロジックにしたがって実装したのだけど、どうもおかしい。滑らかな曲面に収束しないのだ。アルゴリズムを意訳するとこんな感じ。 face point = 面の全頂点の平均値(重心の位置) edge point = 隣接するface pointとエッジ両端点の平均値 original point を P、P に隣接するn個のface pointの平均値を F、P に隣
1日1HaloWars状態のMonshoです。 さすがに慣れてきたのでヒロイックでも余裕です。 そろそろいろいろ縛りプレーでもしようかな。 GLES2.0プログラムその02はシェーダコンパイルです。 なぜいきなりシェーダなのかというと、GLES2.0には固定シェーダがないからです。 単色トライアングルを出すだけでもシェーダを書かなければいけません。 GLES2.0のシェーダは頂点シェーダとフラグメントシェーダに分かれています。 頂点シェーダはそのままの意味で、フラグメントシェーダはピクセルシェーダのことです。 ピクセルシェーダといった方がわかりやすいかもしれませんが、ここではフラグメントシェーダと言うことにしましょう。 今回使用するシェーダプログラムは以下の通りです。 // 頂点シェーダコード attribute highp vec4 myVertex; uniform mediump m
コンピュータグラフィックスがどうしても嘘っぽく見える理由の一つにすごく手前のものも遠くのものもハッキリとシャープに見えるっていうのがあると思う。実際に人の目やカメラで撮った写真の場合は近すぎたり遠すぎるものはボケて見える。 グラフィックスは普通はピンホールカメラをモデルとしてて薄レンズモデルを使わなきゃならんと師に言われた。確かにピンホールカメラモデルというのはグラフィックスで最初に習うものだけど忘れてしまっていた。ボケるっていうのが像が複数に見えてるっていうのは分かってたけど。 遠くのものがボケて見えることを depth of field(dof; 被写界深度) 効果といって、写真の世界では普通に使われてる言葉ですね。正確には被写界深度っていうのは「被写体前後の範囲の中でピントが合っている幅」のこと。「depth of field opengl」 で検索すると色々コードが出てきました。
opneGLで,accumration bufferを使ったモーションブラーのサンプルです. アキュームレーション・バッファの使い方のサンプルは,日本語ではあまり見かけなかったので,自分の備忘録も兼ねて書いておこうと思います. で,サンプルとして,この間作ったスクリーンセーバーの一部をglutで動くようにしたので,そのソースと一緒に公開します. http://www.geocities.jp/sourcechord/tips/accum.html アキュームレーション・バッファとは 一度レンダリングした結果を格納しておくバッファの事です. たとえば,視点の位置を少しづつずらしながら,何度もレンダリングした結果の平均値を取ることで被写界深度を表現したり, ここで説明するように,モーション・ブラーをかけたり,といったことに使えます. ちなみに,アキュームレーション・バッファでは各ピクセルの値を
Warning: This article describes legacy OpenGL APIs that have been removed from core OpenGL 3.1 and above (they are only deprecated in OpenGL 3.0). It is recommended that you not use this functionality in your programs. This article needs proper formatting or improved descriptions. Further details can be found on the talk page. What follows are links to small bits of code and examples submitted by
TimesToCome Mobile Tips, tricks, tools, and help for the iPhone, Palm and Windows Mobile phone user OpenGLES on the iPhone Posted by ljmacphee on March 11, 2009 under programming | There seems to be little to no information or examples on using OpenGL on the iPhone. I’m currently working through OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition) and translating the exampl
Khronos Groupは24日 (米国時間)、3DグラフィックスAPIの最新版「OpenGL 3.1」を発表した。仕様の詳細は、同団体のWebサイトで公開中。 OpenGL 3.1は、2008年8月にリリースされたOpenGL 3.0の強化版。シェーディング言語の最新版「OpenGL Shading Language (GLSL) 1.40」をサポート、新しいAPI仕様に対応した。1次元テクセル配列をバッファオブジェクトに確保できる新テクスチャタイプ「テクスチャ・バッファ・オブジェクト」や、効率的なバッファ管理を可能にする「ユニフォーム・バッファ・オブジェクト」、OpenCLと組み合わせ高速なバッファオブジェクトの複製を実現する「CopyBuffer API」などの新機能も追加されている。 一方では機能の簡素化も推進。OpenGL 3.0の時点で廃止予定とされていたOpenGL 1.x
Browse free open source Software Development software and projects below. Use the toggles on the left to filter open source Software Development software by OS, license, language, programming language, and project status. Ganttic is an online resource planning software, that you can use for managing project portfolios while planning resources with maximum efficiency. Create clear and comprehensive
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く