More Related Content
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!! PDF
PDF
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション PPTX
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive) PDF
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~ PDF
PPTX
【Unity道場スペシャル 2017博多】クォータニオン完全マスター PDF
What's hot
PDF
【Unite Tokyo 2018】誘導ミサイル完全マスター PDF
【Unity道場】物理シミュレーション完全マスター PDF
PDF
UE4における大規模背景制作事例 最適化ワークフロー編 PPTX
PDF
2015年度GPGPU実践プログラミング 第15回 GPU最適化ライブラリ PDF
PPTX
PPTX
PPTX
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう PDF
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ... PDF
PDF
【Unite 2017 Tokyo】Unityで楽しむノンフォトリアルな絵づくり講座:トゥーンシェーダー・マニアクス PDF
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね PDF
PDF
【UE4.25 新機能】新しいシリアライゼーション機能「Unversioned Property Serialization」について PDF
PDF
【Unity道場スペシャル 2018仙台】物理シミュレーション完全マスター PDF
Project Facilitation From Hiranabe Similar to Delphi で超高速 OpenGL 2D/3D 描画
PDF
PDF
Media Art II 2013 第7回 : openFrameworks 3Dグラフィクス、OpenGL PDF
PPT
PDF
PDF
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法 PDF
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう PPTX
PPTX
PPTX
KEY
PDF
PDF
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th] PDF
PDF
coma Creators session vol.2 PDF
PDF
PPTX
PPTX
Delphi で超高速 OpenGL 2D/3D 描画
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 16
OpenGLの初期化.①DCの取得.FMXの場合.変更検知
サブWNDは TFrame コンポーネントの配下ではない
• 単に TFrame と同じ位置に重ねているだけ
• TFrame が移動/変形しても サブWND は追随しない
• サイズ変化を検知するには以下のメソッドの override が必須
• TControl.DoAbsoluteChanged
• TControl.Resize
• 可視性変化を検知するには以下のメソッドの override が必須
• TFmxObject.ParentChanged
• TControl.AncestorVisibleChanged
サブWNDのサイズを変更
TFrame の絶対位置と絶対サイズを取得
高解像度モニタのスケールを乗算
Scene.GetSceneScale
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 50
Post OpenGL3.0
OpenGL 3.0
• シェーダで代替できる古い関数は非推奨にするよ
• www.khronos.org/opengl/wiki/Legacy_OpenGL
OpenGL 3.1
• 非推奨な関数はすべて削除(拡張機能扱い)したよ
OpenGL 3.2
• 互換モードを選べば使えるようにしたよ
• Core Profile:モダン関数のみモード
• Compatible Profile:レガシー関数含有モード
~ ~ ~ ~ ~
OpenGL 4.3
• モダンな機能がほぼ出そろう
• 今から勉強するならここから!
www.khronos.org/opengl/wiki/History_of_OpenGL
- 51.
- 52.
- 53.
- 54.
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 54
モダンな実装.UBO(OpenGL 3.1~)
UBO:Uniform Buffer Object
• すべてのシェーダから共通の定数として参照できる配列
• 生成/使用方法はVBOと同じ
• 種類フラグに GL_UNIFORM_BUFFER を指定
• 任意の構造体をシェーダへ渡すことが可能
• メンバ変数の型と順番を一致させる必要あり
4
3
2
1
0
Binding Point
5 PoseProj
Uniform Block
UBO
任意の構造体
glGetUniformBlockIndex
glUniformBlockBinding glBindBufferBase glBufferData
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。 60
ミニマムライブラリ.TEngine
すべての入出力をポート接続へ還元
•VBOのポートは
VAOが保持
uniform mat4 Mov;
in vec4 Pos;
in vec4 Col;
uniform sampler2D Tex;
uniform mat4 Mov;
out vec4 Fra;
0 1 2 3 4 5 6 7
0 1 2 3
0 1 2 3 4 5 6 7
.Verters
.Framers
.Unifors
TGLUnifor
0 1 2 3 4 5 6 7
0
1
2
3
4
5
6
7
7
6
5
4
3
2
1
0
TGLShaderF
Use
Use
TGLVerter
01234567
Use
Use
.Imagers
TGLShaderV
TGLEngine
TGLVarray
TGLProgra
4 5 6 7
- 61.
- 62.
- 63.
- 64.
- 65.