OpenGL GLSL References Kageyama (Kobe Univ.) Visualization / 58

Similar documents
WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57

WebGL X LR301 Kageyama (Kobe Univ.) Visualization / 45

WebGL References Kageyama (Kobe Univ.) Visualization *4 2 / 54

WebGL Safari WebGL WebGL Safari Kageyama (Kobe Univ.) / 5

WebGL Kageyama (Kobe Univ.) Visualization / 39

WebGL Safari WebGL Kageyama (Kobe Univ.) Visualization / 55

WebGL *1 DOM API *1 X LR301 Kageyama (Kobe Univ.) Visualization / 37

Kageyama (Kobe Univ.) / 36

Kageyama (Kobe Univ.) / 41

3D CG Kageyama (Kobe Univ.) Visualization / 22

DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization / 34

WebGL WebGL DOM Kageyama (Kobe Univ.) Visualization / 39

07-二村幸孝・出口大輔.indd

6/ Kageyama (Kobe Univ.) / 39

第3章 OpenGL の基礎

GPGPU

Presentation

第3章 OpenGL の基礎

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

1 3DCG [2] 3DCG CG 3DCG [3] 3DCG 3 3 API 2 3DCG 3 (1) Saito [4] (a) 1920x1080 (b) 1280x720 (c) 640x360 (d) 320x G-Buffer Decaudin[5] G-Buffer D

main.dvi


IPSJ SIG Technical Report iphone iphone,,., OpenGl ES 2.0 GLSL(OpenGL Shading Language), iphone GPGPU(General-Purpose Computing on Graphics Proc

Presentation

HTML5無料セミナ.key

2013 M

Kageyama (Kobe Univ.) Visualization / 32

Microsoft PowerPoint - GPU_computing_2013_01.pptx

( ) 1 1: 1 #include <s t d i o. h> 2 #include <GL/ g l u t. h> 3 #include <math. h> 4 #include <s t d l i b. h> 5 #include <time. h>

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

1 Fig. 2 2 Fig. 1 Sample of tab UI 1 Fig. 1 that changes by clicking tab 5 2. Web HTML Adobe Flash Web ( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) 3 Web 2.1 Web Goo

IPSJ SIG Technical Report Vol.2013-CE-122 No.16 Vol.2013-CLE-11 No /12/14 Android 1,a) 1 1 GPS LAN 2 LAN Android,,, Android, HTML5 LAN 1. ICT(I



愛知工業大学表1-4.indd

untitled

IPSJ SIG Technical Report Vol.2014-EIP-63 No /2/21 1,a) Wi-Fi Probe Request MAC MAC Probe Request MAC A dynamic ads control based on tra

IPSJ SIG Technical Report Vol.2014-CG-155 No /6/28 1,a) 1,2,3 1 3,4 CG An Interpolation Method of Different Flow Fields using Polar Inter

258 5) GPS 1 GPS 6) GPS DP 7) 8) 10) GPS GPS ) GPS Global Positioning System

0720

Vol.55 No (Jan. 2014) saccess 6 saccess 7 saccess 2. [3] p.33 * B (A) (B) (C) (D) (E) (F) *1 [3], [4] Web PDF a m


libaux.dvi

i GPU GPU GPU GPU CPU Radeon X800 Pro 3.2 α



2013 Future University Hakodate 2013 System Information Science Practice Group Report biblive : Project Name biblive : Recording and sharing experienc

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

Łñ“’‘‚2004

プリント


IPSJ SIG Technical Report Vol.2013-ARC-203 No /2/1 SMYLE OpenCL (NEDO) IT FPGA SMYLEref SMYLE OpenCL SMYLE OpenCL FPGA 1

E MathML W3C MathJax 1.3 MathJax MathJax[5] TEX MathML JavaScript TEX MathML [8] [9] MathSciNet[10] MathJax MathJax MathJax MathJax MathJax MathJax We

IPSJ SIG Technical Report Vol.2009-DPS-141 No.20 Vol.2009-GN-73 No.20 Vol.2009-EIP-46 No /11/27 1. MIERUKEN 1 2 MIERUKEN MIERUKEN MIERUKEN: Spe

B 20 Web

untitled

第7章 レンダリング

第7章 レンダリング

_CS6.indd

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

,,,,., C Java,,.,,.,., ,,.,, i

FIT2013( 第 12 回情報科学技術フォーラム ) I-032 Acceleration of Adaptive Bilateral Filter base on Spatial Decomposition and Symmetry of Weights 1. Taiki Makishi Ch

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

Microsoft Word - hozon-fujimura-HP-伊勢工業高校における造船教育の歴史から学ぶ

JavaScript MathTOUCH (Shizuka Shirai) Graduate School of Human Environmental Sciences, Mukogawa Women s University (Tetsuo Fukui) S

@makoto_anjo (Computer Science) Google Desktop(Hall of Fame)

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

Pro 16 ipad iphone Windows Mac Web App : 12,600 T1 1 1 * Starter Solution Excel PDF Web Web CSV, Excel, XML, ODBC ODBC / JDBC ** SQL REST API (JSON, c

Graphics Performance Tuning () Z 2

untitled

02_Matrox Frame Grabbers_1612

Flash Player ローカル設定マネージャー

作図ツール GC/html5 ビューア版の開発と iPad を使った教育実践 (数学ソフトウェアと教育 : 数学ソフトウェアの効果的利用に関する研究)

ohp.mgp

A Study on Practical Use of Artificial Intelligence. The purpose of this research paper is to demonstrate the ease of using artificial intelligence in

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

GPU n Graphics Processing Unit CG CAD


1 Table 1: Identification by color of voxel Voxel Mode of expression Nothing Other 1 Orange 2 Blue 3 Yellow 4 SSL Humanoid SSL-Vision 3 3 [, 21] 8 325

HPEハイパフォーマンスコンピューティング ソリューション

謗域・ュ逕ィppt

DEIM Forum 2012 E Web Extracting Modification of Objec

World Wide Web =WWW Web ipad Web Web HTML hyper text markup language CSS cascading style sheet Web Web HTML CSS HTML


Microsoft Word - 11_thesis_08k1131_hamada.docx

Java演習(2) -- 簡単なプログラム --

演算増幅器

WebRTC P2P Web Proxy P2P Web Proxy WebRTC WebRTC Web, HTTP, WebRTC, P2P i

表面RTX入稿

Android Windows 8 AP 9 AP ios & Android 10 ST 11 ST ios 12 ST Android 13 ST Win & Mac 14 ST ios 15 ST Android

tn_soturon_sjis.dvi

光学

Oracle Policy Automation 10.0システム要件

スライド 1

電気通信大学 I 類 情報系 情報 ネットワーク工学専攻 CED 2018 システム利用ガイド ver1.2 CED 管理者 学術技師 島崎俊介 教育研究技師部 実験実習支援センター 2018 年 3 月 29 日 1 ログイン ログアウト手順について 1.1 ログイン手順 CentOS 1. モニ

B HNS 7)8) HNS ( ( ) 7)8) (SOA) HNS HNS 4) HNS ( ) ( ) 1 TV power, channel, volume power true( ON) false( OFF) boolean channel volume int

07_経営論集2010 小松先生.indd

1 VisBAR edu H 2 O.....



Transcription:

WebGL *1 2013.04.23 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.04.23 1 / 58

OpenGL GLSL References Kageyama (Kobe Univ.) Visualization 2013.04.23 2 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 3 / 58

http://tinyurl.com/kageyama2013v Kageyama (Kobe Univ.) Visualization 2013.04.23 4 / 58

PC PC Mozilla Firefox Google Chrome Safari Opera *2 *2 http://www.khronos.org/webgl/wiki/demo_repository Kageyama (Kobe Univ.) Visualization 2013.04.23 5 / 58

OpenGL glbegin/glend, glvertex, glnormal CG Computer Graphics OpenGL Kageyama (Kobe Univ.) Visualization 2013.04.23 6 / 58

WebGL Kageyama (Kobe Univ.) Visualization 2013.04.23 7 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 8 / 58

5 20 x 5 = 100 kageyama.lecture Kageyama (Kobe Univ.) Visualization 2013.04.23 9 / 58

WebGL WebGL - OpenGL ES 2.0 for the Web *3 *3 http://www.khronos.org/webgl/ Kageyama (Kobe Univ.) Visualization 2013.04.23 10 / 58

WebGL : (Anyuru, 2012) WebGL : (Anyuru and, 2012) (Telea, 2007) Kageyama (Kobe Univ.) Visualization 2013.04.23 11 / 58

Part 1 OpenGL WebGL CG GPU Part 2 WebGL Part 3 Kageyama (Kobe Univ.) Visualization 2013.04.23 12 / 58

はじめに 登攀ルート GPUを使いこなしたSci. Viz. 基本的可視化 アルゴリズム シェーダ言語 線形代数 コンピュータグラフィクス Kageyama (Kobe Univ.) Visualization 2013.04.23 13 / 58

OpenGL OpenGL Kageyama (Kobe Univ.) Visualization 2013.04.23 14 / 58

OpenGL OpenGL OpenGL 2.X OpenGL 1.X OpenGL 3.0 OpenGL 3.0 OpenGL 3.1 OpenGL 3.2 Kageyama (Kobe Univ.) Visualization 2013.04.23 15 / 58

OpenGL OpenGL Overview http://www.opengl.org OpenGL was first created as an open and reproducable alternative to Iris GL...Silicon Graphics workstations... OpenGL 1.0...non-SGI 3rd party...... OpenGL 2.0...OpenGL Shading Language (also called GLSL), a C like language with which the transformation and fragment shading stages of the pipeline can be programmed. OpenGL 3.0 adds the concept of deprecation *4... GL 3.1 removed most deprecated features, and GL 3.2 created the notion of core and compatibility OpenGL contexts. Official versions of OpenGL released to date are 1.0, 1.1, 1.2, 1.2.1, 1.3, 1.4, 1.5, 2.0, 2.1, 3.0, 3.1, 3.2, 3.3, 4.0, 4.1, 4.2, 4.3. *4 Kageyama (Kobe Univ.) Visualization 2013.04.23 16 / 58

OpenGL OpenGL http://www.khronos.org OpenGL 4.3 OpenGL SL 4.3 OpenGL ES 3.0 ios, Android, Symbian WebGL 2.0 Kageyama (Kobe Univ.) Visualization 2013.04.23 17 / 58

OpenGL Shader-based OpenGL OpenGL OpenGL API OpenGL 3.0 OpenGL Shader-base Kageyama (Kobe Univ.) Visualization 2013.04.23 18 / 58

OpenGL OpenGL ver. 3.1 Kageyama (Kobe Univ.) Visualization 2013.04.23 19 / 58

OpenGL OpenGL ver. 3.1 // // H e l l o W o r l d. c // // To c o m p i l e on Mac. // gcc t h i s s o u r c e. c framework GLUT framework OpenGL // #i n c l u d e <GLUT/ g l u t. h> void d i s p l a y ( void ) { g l C l e a r ( GL COLOR BUFFER BIT ) ; g l B e g i n (GL POLYGON) ; g l V e r t e x 2 f ( 0.5, 0.5) ; g l V e r t e x 2 f ( 0.5, 0. 5 ) ; Kageyama (Kobe Univ.) Visualization 2013.04.23 20 / 58

OpenGL } g l V e r t e x 2 f ( 0. 5, 0. 5 ) ; g l V e r t e x 2 f ( 0. 5, 0.5) ; glend ( ) ; g l u t S w a p B u f f e r s ( ) ; i n t main ( i n t argc, char a r g v ) { g l u t I n i t (& argc, a r g v ) ; g l u t I n i t D i s p l a y M o d e (GLUT RGBA GLUT DOUBLE) ; glutcreatewindow ( H e l l o World ) ; g l u t D i s p l a y F u n c ( d i s p l a y ) ; glutmainloop ( ) ; } Listing 1: OpenGL Kageyama (Kobe Univ.) Visualization 2013.04.23 21 / 58

OpenGL WebGL link: webgl sample triangle 00.html Kageyama (Kobe Univ.) Visualization 2013.04.23 22 / 58

GLSL OpenGL OpenGL SL, GLSL 4.0 GPU CG = OpenGL + GLSL( + GLSL( Kageyama (Kobe Univ.) Visualization 2013.04.23 23 / 58

GLSL OpenGL GPU GPGPU Kageyama (Kobe Univ.) Visualization 2013.04.23 24 / 58

GLSL GPU GeForce GTX TITAN CUDA Cores 2688 Kageyama (Kobe Univ.) Visualization 2013.04.23 25 / 58

GLSL immediate-mode GPU retained-mode GPU Kageyama (Kobe Univ.) Visualization 2013.04.23 26 / 58

GLSL OpenGL OpenGL 3.0 deprecation OpenGL 3.2 API glbegin/glend GL MODELVIEW, GL PROJECTION Kageyama (Kobe Univ.) Visualization 2013.04.23 27 / 58

GLSL OpenGL ES 2.0 OpenGL for Embedded Systems Immediate API glbegin/glend C/C++, Objective-C, Java OpenGL ES 2.0 WebGL WebGL JavaScript Kageyama (Kobe Univ.) Visualization 2013.04.23 28 / 58

GLSL HTML5 canvas HTML5 5 HTML canvas: JavaScript HTML5 canvas Kageyama (Kobe Univ.) Visualization 2013.04.23 29 / 58

CG Kageyama (Kobe Univ.) Visualization 2013.04.23 30 / 58

CG MPI Embarrassingly parallel problems Kageyama (Kobe Univ.) Visualization 2013.04.23 31 / 58

CG embarrassingly parallel etc. CG GPU (Graphics Processing Unit) Kageyama (Kobe Univ.) Visualization 2013.04.23 32 / 58

Kepler GeForce Nvidia white paper Kageyama (Kobe Univ.) Visualization 2013.04.23 33 / 58

Kepler GeForce Nvidia white paper Kageyama (Kobe Univ.) Visualization 2013.04.23 34 / 58

Graphics rendering pipeline グラフィックスレンダリング パイプライン input: 3 output: 2 Kageyama (Kobe Univ.) Visualization 2013.04.23 35 / 58

アプリケ ーション ジオメト リ ラスタラ イザ Kageyama (Kobe Univ.) Visualization 2013.04.23 36 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 37 / 58

座標変換 ライティ ング 射影 クリッピ ング スクリー ンマッピ ング Kageyama (Kobe Univ.) Visualization 2013.04.23 38 / 58

canonical view volume 2 ( 1, 1, 1) (x, y, z) (1, 1, 1) Normalized Device Coordinates, NDC CG Kageyama (Kobe Univ.) Visualization 2013.04.23 39 / 58

2 orthographic projection, parallel projection perspective projection, view frustum 4 4 Kageyama (Kobe Univ.) Visualization 2013.04.23 40 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 41 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 42 / 58

width height x y z 1 z 1 Kageyama (Kobe Univ.) Visualization 2013.04.23 43 / 58

アプリケ ーション ジオメト リ ラスタラ イザ Kageyama (Kobe Univ.) Visualization 2013.04.23 44 / 58

3D 2D 2D Kageyama (Kobe Univ.) Visualization 2013.04.23 45 / 58

p. 50 Kageyama (Kobe Univ.) Visualization 2013.04.23 46 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 47 / 58

Z Kageyama (Kobe Univ.) Visualization 2013.04.23 48 / 58

RGBA 16 bits, 23 bits, 32 bits RGBA32 = R8 + G8 + B8 + A8 Kageyama (Kobe Univ.) Visualization 2013.04.23 49 / 58

Z Z-buffer Edwin Catmull 1974 RenderMan Kageyama (Kobe Univ.) Visualization 2013.04.23 50 / 58

Z-buffer z z b z a z a < z b x Kageyama (Kobe Univ.) Visualization 2013.04.23 51 / 58

Z-buffer z x Kageyama (Kobe Univ.) Visualization 2013.04.23 52 / 58

Z-buffer z x Kageyama (Kobe Univ.) Visualization 2013.04.23 53 / 58

Z-buffer z b 3 z a = z 1 + (z 2 z 1 ) x s x 1 x 2 x 1 z b = z 2 + (z 3 z 2 ) x s x 2 x 3 x 2 z p = z a + (z b z a ) y p y b y b x a 2 a p 1 x x s Kageyama (Kobe Univ.) Visualization 2013.04.23 54 / 58

(Williams, 1978) z 2 Kageyama (Kobe Univ.) Visualization 2013.04.23 55 / 58

Kageyama (Kobe Univ.) Visualization 2013.04.23 56 / 58

NDC, 39 OpenGL SL, 23 Z, 50, 25, 39, 49, 35, 56, 55, 39, 48, 40 Kageyama (Kobe Univ.) Visualization 2013.04.23 57 / 58

References References Anyuru, A. (2012). Professional WebGL Programming. Wrox, 2 edition edition. Anyuru, A. and (2012). WebGL.. Telea, A. C. (2007). Data Visualization. A K Peters, Ltd. Williams, L. (1978). Casting Curved Shadows on Curved Surfaces. In Proc. 5th Anunual Conference on Computer Graphics and Interactive Techniques, pages 270 274. Kageyama (Kobe Univ.) Visualization 2013.04.23 58 / 58