Más contenido relacionado
OpenGL ES2.0 一問一答
- 5. 「Graphics Processing Unit(グラフィックス プロセッシング ユニット、略してGPU)とは、パー
ソナルコンピュータやワークステーション等の画像処理を担当する主要な部品のひとつ。
現在の高機能GPUは高速のVRAMと接続され、グラフィックスシェーディングに特化した演算器を複
数搭載するマイクロプロセッサとなっている。」
GPUとCPUの関係はサーバとクライアント、
GPUはCPUに画像処理を委託され、従属して動作する。
OpenGLはGPU制御用のAPIと考えて良い。
GPUとは?
CPU
GPU
メイン
メモリ
VRAM兼用
ディス
プレイ
- 18. バーテックスシェーダとは?2
例:cocos2d-x
attribute vec4 a_position;
attribute vec2 a_texCoord;
attribute vec4 a_color;
varying lowp vec4 v_fragmentColor;
varying mediump vec2 v_texCoord;
void main()
{
gl_Position = CC_MVPMatrix * a_position;
v_fragmentColor = a_color;
v_texCoord = a_texCoord;
}
cocos2d-xで一番良く使われるバーテックスシェーダ。
座標変換行列で画面上の頂点位置計算、頂点色とテクスチャのUV座標のフラグメントシェーダへ
の受け渡しをしている。
各3Dモデルの頂点の数だけ実行される。
※レンダリングパイプラインのES1系でのデフォルトの処理をしているのと変わらない
- 20. フラグメントシェーダとは?2
例:cocos2d-x
varying vec4 v_fragmentColor;
varying vec2 v_texCoord;
void main()
{
gl_FragColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord);
}
cocos2d-xで一番良く使われるフラグメントシェーダ。
バーテックスシェーダから与えられたテクスチャのUV座標を使ってテクスチャから取り出したテ
クセルに、やはり与えられた頂点色(ラスタライズによって補間)を乗算しているだけ。
各3Dモデルのポリゴンのピクセルごとに実行される。
※レンダリングパイプラインのES1系でのデフォルトの処理をしているのと変わらない
Notas del editor
- 駒田はGPUやOpenGLについては専門家ではありません。勉強をはじめたのはここ1、2年です。指摘歓迎します。
また、かなり基礎的な内容からはじめるので既に知ってる方すみません
- グラボの写真を貼ろう
CPUとGPUの関係図を貼るのが一番速い気がする。
★★論理的に別?というのは本当?
- グラボの写真を貼ろう
CPUとGPUの関係図を貼るのが一番速い気がする。
★★論理的に別?というのは本当?
- これは表にまとめる
- 簡単に言うと、GPUはCGに特化した単純な命令しか実行できないし1コアの速度が遅いが大量並列計算により高速。
CPUは汎用な命令に対応して高速だがコア数が少ない。
- グラボの写真を貼ろう
CPUとGPUの関係図を貼るのが一番速い気がする。
★★論理的に別?というのは本当?
- 各コマンド(API)はかなりの低レベルである
- DirectXはゲームのフレームワーク、OpenGLにあたるのはDirect3D。
MetalはiOS8と同時に発表されたiOS端末用のAPI。
下2つはハードウェアに特化している分、薄くて速い。
- ここは図を使って複数ページに分けよう
- ここは図を使って複数ページに分けよう
- ここは図を使って複数ページに分けよう
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0
- 固定処理パイプラインはドローコール前にAPIで座標変換行列やカメラ行列や視野行列を与えて、シンプルにそれらを使用して描画するのみであった。
ES2.0