小编tyu*_*uip的帖子

将自己的结构传递给opengl es 2.0着色器

我想尝试一下OpenGL ES 2.0编程指南中的照明示例.在着色器中,他们制作了两个结构.

struct directional_light   
{  

    vec3 direction; // normalized light direction in eye space  
    vec3 halfplane; // normalized half-plane vector  

    vec4 ambient_color;
    vec4 diffuse_color;
    vec4 specular_color;
};

struct material_properties 
{ 
    vec4 ambient_color; 
    vec4 diffuse_color; 
    vec4 specular_color; 
    float specular_exponent;
};
Run Code Online (Sandbox Code Playgroud)

他们还根据这些结构制作了两件制服.

uniform  material_properties u_material_properties;   
uniform directional_light u_directional_light;
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道如何将自己的结构传递给实际的着色器.

我想在我的主代码中创建相同的结构,并将对象传递到着色器.这怎么可能?

关心尼克拉斯

iphone shader opengl-es opengl-es-lighting

10
推荐指数
1
解决办法
6531
查看次数

标签 统计

iphone ×1

opengl-es ×1

opengl-es-lighting ×1

shader ×1