mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-11-04 01:34:19 +00:00 
			
		
		
		
	Move Light struct to example
This commit is contained in:
		@@ -7,7 +7,9 @@ in vec3 vertexNormal;
 | 
			
		||||
 | 
			
		||||
// Projection and model data
 | 
			
		||||
uniform mat4 mvpMatrix;
 | 
			
		||||
 | 
			
		||||
uniform mat4 modelMatrix;
 | 
			
		||||
//uniform mat4 viewMatrix;  // Not used
 | 
			
		||||
 | 
			
		||||
// Attributes to fragment shader
 | 
			
		||||
out vec2 fragTexCoord;
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,17 @@
 | 
			
		||||
#define SHININESS_SPEED 1.0f
 | 
			
		||||
#define LIGHT_SPEED 0.25f
 | 
			
		||||
 | 
			
		||||
// Light type
 | 
			
		||||
typedef struct Light {
 | 
			
		||||
    Vector3 position;
 | 
			
		||||
    Vector3 direction;
 | 
			
		||||
    float intensity;
 | 
			
		||||
    float specIntensity;
 | 
			
		||||
    Color diffuse;
 | 
			
		||||
    Color ambient;
 | 
			
		||||
    Color specular;
 | 
			
		||||
} Light;
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
    // Initialization
 | 
			
		||||
@@ -48,6 +59,10 @@ int main()
 | 
			
		||||
    int cameraLoc = GetShaderLocation(shader, "cameraPos");
 | 
			
		||||
    int lightLoc = GetShaderLocation(shader, "lightPos");
 | 
			
		||||
    
 | 
			
		||||
    // Model and View matrix locations (required for lighting)
 | 
			
		||||
    int modelLoc = GetShaderLocation(shader, "modelMatrix");
 | 
			
		||||
    //int viewLoc = GetShaderLocation(shader, "viewMatrix");        // Not used
 | 
			
		||||
    
 | 
			
		||||
    // Light and material definitions
 | 
			
		||||
    Light light;
 | 
			
		||||
    Material matBlinn;
 | 
			
		||||
@@ -82,6 +97,10 @@ int main()
 | 
			
		||||
        //----------------------------------------------------------------------------------
 | 
			
		||||
        UpdateCamera(&camera);      // Update camera position
 | 
			
		||||
        
 | 
			
		||||
        // NOTE: Model transform can be set in model.transform or directly with params at draw... WATCH OUT!
 | 
			
		||||
        SetShaderValueMatrix(shader, modelLoc, model.transform);            // Send model matrix to shader
 | 
			
		||||
        //SetShaderValueMatrix(shader, viewLoc, GetCameraMatrix(camera));   // Not used
 | 
			
		||||
        
 | 
			
		||||
        // Glossiness input control
 | 
			
		||||
        if(IsKeyDown(KEY_UP)) matBlinn.glossiness += SHININESS_SPEED;
 | 
			
		||||
        else if(IsKeyDown(KEY_DOWN))
 | 
			
		||||
 
 | 
			
		||||
@@ -938,6 +938,12 @@ Vector2 WorldToScreen(Vector3 position, Camera camera)
 | 
			
		||||
    return screenPosition;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Get transform matrix for camera
 | 
			
		||||
Matrix GetCameraMatrix(Camera camera)
 | 
			
		||||
{
 | 
			
		||||
    return MatrixLookAt(camera.position, camera.target, camera.up);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------------------------
 | 
			
		||||
// Module Functions Definition - Input (Keyboard, Mouse, Gamepad) Functions
 | 
			
		||||
//----------------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -167,9 +167,6 @@ typedef enum { OPENGL_11 = 1, OPENGL_33, OPENGL_ES_20 } GlVersion;
 | 
			
		||||
 | 
			
		||||
        // Uniforms
 | 
			
		||||
        int mvpLoc;           // ModelView-Projection matrix uniform location point (vertex shader)
 | 
			
		||||
    
 | 
			
		||||
        int modelLoc;         // Model transformation matrix uniform location point (vertex shader)
 | 
			
		||||
        int viewLoc;          // View transformation matrix uniform location point (vertex shader)
 | 
			
		||||
        int tintColorLoc;     // Color uniform location point (fragment shader)
 | 
			
		||||
        
 | 
			
		||||
        int mapDiffuseLoc;    // Diffuse map texture uniform location point (fragment shader)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user