diff options
| author | Ray <[email protected]> | 2017-10-18 00:12:27 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-10-18 00:12:27 +0200 |
| commit | 53280a56e3f4ab576fafeb75a68031fcdc4089fa (patch) | |
| tree | 919a4dc7f5623df04ab316c855e43eb32a051cc9 /examples/models/models_material_pbr.c | |
| parent | 4a63e5dfb3006483cace85c8161d12057a9e8488 (diff) | |
| parent | 5b71e5b3d1cb87d7ed764d6be82bd6fcb9fa875f (diff) | |
| download | raylib-53280a56e3f4ab576fafeb75a68031fcdc4089fa.tar.gz raylib-53280a56e3f4ab576fafeb75a68031fcdc4089fa.zip | |
Merge pull request #367 from raysan5/develop
Integrate Develop branch
Diffstat (limited to 'examples/models/models_material_pbr.c')
| -rw-r--r-- | examples/models/models_material_pbr.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/examples/models/models_material_pbr.c b/examples/models/models_material_pbr.c index 1f069468..9f576348 100644 --- a/examples/models/models_material_pbr.c +++ b/examples/models/models_material_pbr.c @@ -41,10 +41,13 @@ int main() model.material = LoadMaterialPBR((Color){ 255, 255, 255, 255 }, 1.0f, 1.0f); // Define lights attributes - Light lights[MAX_LIGHTS] = { CreateLight(LIGHT_POINT, (Vector3){ LIGHT_DISTANCE, LIGHT_HEIGHT, 0.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 255, 0, 0, 255 }, model.material.shader), - CreateLight(LIGHT_POINT, (Vector3){ 0.0f, LIGHT_HEIGHT, LIGHT_DISTANCE }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 0, 255, 0, 255 }, model.material.shader), - CreateLight(LIGHT_POINT, (Vector3){ -LIGHT_DISTANCE, LIGHT_HEIGHT, 0.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 0, 0, 255, 255 }, model.material.shader), - CreateLight(LIGHT_DIRECTIONAL, (Vector3){ 0.0f, LIGHT_HEIGHT*2.0f, -LIGHT_DISTANCE }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 255, 0, 255, 255 }, model.material.shader) }; + // NOTE: Shader is passed to every light on creation to define shader bindings internally + Light lights[MAX_LIGHTS] = { + CreateLight(LIGHT_POINT, (Vector3){ LIGHT_DISTANCE, LIGHT_HEIGHT, 0.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 255, 0, 0, 255 }, model.material.shader), + CreateLight(LIGHT_POINT, (Vector3){ 0.0f, LIGHT_HEIGHT, LIGHT_DISTANCE }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 0, 255, 0, 255 }, model.material.shader), + CreateLight(LIGHT_POINT, (Vector3){ -LIGHT_DISTANCE, LIGHT_HEIGHT, 0.0f }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 0, 0, 255, 255 }, model.material.shader), + CreateLight(LIGHT_DIRECTIONAL, (Vector3){ 0.0f, LIGHT_HEIGHT*2.0f, -LIGHT_DISTANCE }, (Vector3){ 0.0f, 0.0f, 0.0f }, (Color){ 255, 0, 255, 255 }, model.material.shader) + }; SetCameraMode(camera, CAMERA_ORBITAL); // Set an orbital camera mode @@ -156,6 +159,7 @@ static Material LoadMaterialPBR(Color albedo, float metalness, float roughness) UnloadTexture(cubemap); UnloadTexture(texHDR); + // Unload already used shaders (to create specific textures) UnloadShader(shdrCubemap); UnloadShader(shdrIrradiance); UnloadShader(shdrPrefilter); |
