opengl:glsl_hlsl
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| opengl:glsl_hlsl [2014/07/02 16:35] – [GLSL/HLSL 命令対応表] oga | opengl:glsl_hlsl [2016/09/12 14:53] (現在) – [GLSL/HLSL/Metal 命令対応表] oga | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== GLSL/HLSL 命令対応表 ====== | + | ====== GLSL/HLSL/ |
| + | * HLSL = DirectX (D3D8/ | ||
| + | * GLSL = OpenGL 2/3/4, OpenGL ES 2/3, Vulkan, SpliteKit (watchOS) | ||
| + | * Metal = Metal (iOS/ | ||
| - | ^ GLSL ^ HLSL | + | |
| + | |||
| + | ^ GLSL ^ HLSL | ||
| | float | float | float | | | | float | float | float | | | ||
| - | | | + | | -- |
| - | | vec2 | float2 | + | | vec2/ |
| - | | vec3 | float3 | + | |
| - | | vec4 | float4 | + | |
| | mat3 | float3x3 | | mat3 | float3x3 | ||
| | mat4 | float4x4 | | mat4 | float4x4 | ||
| 行 13: | 行 16: | ||
| | int | int | int | | | | int | int | int | | | ||
| | ivec2/ | | ivec2/ | ||
| + | | uint | uint | uint (unsigned int) | ||
| + | | uvec2/ | ||
| | bool | bool | bool | | bool | bool | bool | ||
| | bvec2/ | | bvec2/ | ||
| - | | lowp float | min10float | + | | lowp float | min10float |
| - | | mediump float | half (min16float) | + | | mediump float | half (min16float) |
| | highp float | float | float | 32bit fp | | | highp float | float | float | 32bit fp | | ||
| - | | double | + | | double |
| - | | highp int | + | | highp int / uint |
| - | | highp uint | uint | uint | 32bit unsigned | + | | mediump int / uint | min16int / min16uint |
| - | | mediump | + | | lowp int / uint |
| + | | -- | -- | char / uchar | 8bit int | | ||
| | vec3 x= vec3( a, b, c ); | float3 x= { a, b, c }; | float3 x= { a, b, c }; | | | vec3 x= vec3( a, b, c ); | float3 x= { a, b, c }; | float3 x= { a, b, c }; | | ||
| | ::: | float3 x= float3( a, b, c ); | float3 x= float3( a, b, c ); | | | | ::: | float3 x= float3( a, b, c ); | float3 x= float3( a, b, c ); | | | ||
| | float x[3]= float[]( a, b, c ); | float x[3]= { a, b, c }; | float x[3]= { a, b, c }; | | float x[3]= float[]( a, b, c ); | float x[3]= { a, b, c }; | float x[3]= { a, b, c }; | ||
| - | | type( x ) | (type)x | + | | type( x ) | (type)x |
| | matrix * matrix | | matrix * matrix | ||
| | vector * matrix | | vector * matrix | ||
| - | | uniform | + | | uniform |
| - | | in/out , varying/ | + | | in/out , varying/ |
| - | | builtin gl_* variables | + | | builtin gl_* variables |
| + | |||
| 行 39: | 行 47: | ||
| - | ^ GLSL ^ HLSL | + | ^ GLSL ^ HLSL ^ Metal |
| - | | inversesqrt( x ) | rsqrt( x ) | 1/sqrt( x ) | | + | | inversesqrt( x ) |
| - | | mix( x, y, s ) | lerp( x, y, s ) | | | + | | mix( x, y, s ) | lerp( x, y, s ) |
| - | | clamp( x, min, max ) | clamp( x, min, max ) | | | + | | clamp( x, min, max ) | clamp( x, min, max ) |
| - | | clamp( x, 0.0, 1.0 ) | saturate( x ) | | | + | | clamp( x, 0.0, 1.0 ) | saturate( x ) |
| - | | step( edge, x ) | step( edge, x ) | x < edge ? 0.0 : 1.0 | | + | | step( edge, x ) | step( edge, x ) |
| - | | smoothstep( min, max, x ) | smoothstep( min, max, x ) | clamp( (x-min) / (max-min), 0.0, 1.0 ) | | + | | smoothstep( min, max, x ) | smoothstep( min, max, x ) |
| + | ^ GLSL ^ HLSL ^ Metal ^ ^ | ||
| + | | sampler2D samplerobj | ||
| + | | sampler2DShadow depthobj | ||
| + | | v= texture( samplerobj, texcoord.. ); | v= texobj.Sample( texcoord.. ); | v= texobj.sample( sampler, texcoord .. ) | sampling | ||
| + | | v= texture2D( sampleobj, texcoord.. ); | v= tex2D( sampler, texcoord.. ); | -- | legacy syntax | ||
| + | | v= textureGather( depthobj, texcoord.. ); | v= depthobj.SampleCmp( texcoord.. ); | v= depthobj.sample_compare( ... ) | pcf shadow map | | ||
| - | ^ GLSL ^ HLSL ^ ^ | ||
| - | | sampler2D samplerobj | ||
| - | | sampler2DShadow shadowobj | ||
| - | | v= texture( samplerobj, texcoord.. ); | v= textureobj.Sample( texcoord.. ); | sampling | ||
| - | | v= texture2D( sampleobj, texcoord.. ); | v= tex2D( sampler, texcoord.. ); | legacy syntax | ||
| - | | v= textureGather( sadowobj, texcoord.. ); | v= shadowobj.SampleCmp( texcoord.. ); | pcf shadow map | | ||
| - | ^ shader | ||
| - | | vsh | in int gl_VertexID; | ||
| - | | ::: | in int gl_InstanceID; | ||
| - | | fsh/psh | out vec4 color; (GL2: gl_FragColor) | ||
| - | | ::: | out float gl_FragDepth; | ||
| + | ^ shader | ||
| + | | vsh | in int gl_VertexID; | ||
| + | | ::: | in int gl_InstanceID; | ||
| + | | ::: | out vec4 gl_Position; | ||
| + | | fsh/psh | out vec4 color; (GL2: gl_FragColor) | ||
| + | | ::: | out float gl_FragDepth; | ||
opengl/glsl_hlsl.1404286511.txt.gz · 最終更新: by oga
