コンテンツにスキップ

シェーダー

出典: フリー百科事典『ウィキペディア(Wikipedia)』

: shader3shadeshader

[]


3DCG

//GPU3DCG

: 3DCG

[]




1退

PIXARRenderMan[1]


[]


60FPS116使VRAM[2]ZGPUPRT[3][4]ISPM[5]SVO-GI[6]NVIDIA GI WorksCLIPMAP[7]2018CSM[8]/PSSM[9]

CGAutodesk 3ds MaxAutodesk MayaAutodesk SoftimageNewTek LightWave 3D2DCG: Adobe PhotoshopAdobe FlashGUI (OS) 2DAPIWindows Aero/Direct2D (Windows) Quartz Extreme/Core Image (macOS) GPU

[]


1[10]
表: シェーダーステージ
ステージ名 入力 出力 注記
頂点シェーダー 頂点 頂点
テッセレーション[11] プリミティブ プリミティブ しばしば "制御シェーダー" + "テッセレーション固定機能"
ジオメトリシェーダー[12] プリミティブ プリミティブ
(ラスタライズ) プリミティブ フラグメント 固定機能
フラグメントシェーダー フラグメント フラグメント

OpenGL 3.2Direct3D 10[13]3使

[]


: Vertex Shader, VS3XYZUV3

Direct3D 9CPUD3DCREATE_SOFTWARE_VERTEXPROCESSINGGPU使CPUGPU

3.0DirectX 9.0cOpenGL 2.xVertex Texture Fetch (VTF) [14]使 4.0DirectX 10VTF[15]OpenGL3.1VTF16TIU使 OpenGL 4.2[16]DirectX11.1[17]

[]


: Geometry Shader, GS使OpenGL



3

使

[]


: Pixel Shader, PSOpenGL: Fragment Shader, FSFragment: 

GPUCPU使

GPU[]


Direct3D 9GPUDirect3D 10Unified Shader Architecture使3[18] [19] [20] [21]

GPU

CPUGPU



使

quad1quad2 × 2





[22]OpenGLGPUGPUCPUGPU[23]

[]


OpenGL 4.0Direct3D 11使

歴史[編集]


RenderMan Shading Language3CAD 2D/3D CPUGPUT&L使[24]

GPUGPU GPUGPU

OpenGLDirectX (Direct3D) APIOpenGL1.52.0Direct3D8[25]OpenGL 3.1OpenGL ES 2.0Direct3D 10[26] [27]Direct3D 9GPU使Direct3D 10SPCUDA[28] [29] [30] [31] [32]

[]


2GPUBlenderCyclesV-RayRTCUDAOpenCLGPU

[]


GPGPUAPICUDAOpenCLOpenGL 4.3OpenGL ES 3.1Direct3D11GPGPUCompute Shader便Direct3DDirect3D APIDirectCompute

CUDAOpenCLDirect3DOpenGLDirect3D/HLSLOpenGL/GLSL

[]



多くの3DCGソフトウェアやオーサリングツール、ゲームエンジンにはノードエディタと呼ばれるGUIツールが搭載されており、ノードエディタを使うことでカスタムシェーダー開発を直感的に行なうことができるが、シェーディング言語を直接利用すると細やかな調整を行なうことができる。

関連項目[編集]

脚注[編集]



(一)^ What is RenderMan?

(二)^ 使30FPSVR3D

(三)^ 3D (65) (PRT)PRT? | 

(四)^ 西3D -GAME Watch

(五)^ Hardware-Accelerated Global Illumination by Image Space Photon Mapping

(六)^ 4Gamer.net  NVIDIAEpicUnreal Engine 4

(七)^ SIGGRAPH 2014NVIDIAIntelHaswellDX12 - 4Gamer.net

(八)^   

(九)^ GPU Gems 3 - Chapter 10. Parallel-Split Shadow Maps on Programmable GPUs

(十)^ A shader object corresponds to a stage in the rendering pipeline referred to as its shader stage or shader type OpenGL 4.6 specification

(11)^ Tessellation is a process that reads a patch primitive and generates new primitives used by subsequent pipeline stages. OpenGL 4.6 specification

(12)^ Geometry shaders operate on a single primitive at a time and emit one or more output primitives OpenGL 4.6 specification

(13)^   (Direct3D 10)

(14)^ Vertex Texture Fetch - OpenGL.org

(15)^ Load (DirectX HLSL Texture Object) (Windows)

(16)^ GL_ARB_shader_image_load_store

(17)^ Direct3D 11.1 Features (Windows)

(18)^ GeForce 8600 FAQ | NVIDIA

(19)^ 西3DATI Radeon HD 2000GPU

(20)^ GPUG80 (1/3) - ITmedia PC USER

(21)^ Weekly

(22)^  (Direct3D 10)

(23)^ ParticlesGS 

(24)^ DirectX 7  Direct3D 

(25)^ Shader Models vs Shader Profiles - MSDN

(26)^ :  CPU  (GPU) 

(27)^ Working with Shaders: "A shader is a computer program that performs graphics calculationsfor example, vertex transformations or pixel coloringand typically runs on a graphics processing unit (GPU) instead of the CPU."

(28)^ 4Gamer.net

(29)^ SAPPHIRE X1950 PRO

(30)^ SAPPHIRE Ultimate HD 4670 512MB GDDR3 PCI-E

(31)^ GeForce 8800

(32)^ GeForce GTX 680 | NVIDIA