|
@@ -32,9 +32,9 @@ int main()
|
|
camera.target = (Vector3){ 0.0f, 0.0f, 0.7f }; // Camera looking at point
|
|
camera.target = (Vector3){ 0.0f, 0.0f, 0.7f }; // Camera looking at point
|
|
camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target)
|
|
camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target)
|
|
camera.fovy = 65.0f; // Camera field-of-view Y
|
|
camera.fovy = 65.0f; // Camera field-of-view Y
|
|
-
|
|
|
|
|
|
+
|
|
SetCameraMode(camera, CAMERA_FREE); // Set camera mode
|
|
SetCameraMode(camera, CAMERA_FREE); // Set camera mode
|
|
-
|
|
|
|
|
|
+
|
|
// Load raymarching shader
|
|
// Load raymarching shader
|
|
// NOTE: Defining 0 (NULL) for vertex shader forces usage of internal default vertex shader
|
|
// NOTE: Defining 0 (NULL) for vertex shader forces usage of internal default vertex shader
|
|
Shader shader = LoadShader(0, "resources/shaders/glsl330/raymarching.fs");
|
|
Shader shader = LoadShader(0, "resources/shaders/glsl330/raymarching.fs");
|
|
@@ -46,12 +46,12 @@ int main()
|
|
int deltaTimeLoc = GetShaderLocation(shader, "deltaTime");
|
|
int deltaTimeLoc = GetShaderLocation(shader, "deltaTime");
|
|
int runTimeLoc = GetShaderLocation(shader, "runTime");
|
|
int runTimeLoc = GetShaderLocation(shader, "runTime");
|
|
int resolutionLoc = GetShaderLocation(shader, "resolution");
|
|
int resolutionLoc = GetShaderLocation(shader, "resolution");
|
|
-
|
|
|
|
|
|
+
|
|
float resolution[2] = { screenWidth, screenHeight };
|
|
float resolution[2] = { screenWidth, screenHeight };
|
|
SetShaderValue(shader, resolutionLoc, resolution, 2);
|
|
SetShaderValue(shader, resolutionLoc, resolution, 2);
|
|
-
|
|
|
|
|
|
+
|
|
float runTime = 0.0f;
|
|
float runTime = 0.0f;
|
|
-
|
|
|
|
|
|
+
|
|
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
|
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
|
//--------------------------------------------------------------------------------------
|
|
//--------------------------------------------------------------------------------------
|
|
|
|
|
|
@@ -61,14 +61,14 @@ int main()
|
|
// Update
|
|
// Update
|
|
//----------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------
|
|
UpdateCamera(&camera); // Update camera
|
|
UpdateCamera(&camera); // Update camera
|
|
-
|
|
|
|
|
|
+
|
|
float cameraPos[3] = { camera.position.x, camera.position.y, camera.position.z };
|
|
float cameraPos[3] = { camera.position.x, camera.position.y, camera.position.z };
|
|
float cameraTarget[3] = { camera.target.x, camera.target.y, camera.target.z };
|
|
float cameraTarget[3] = { camera.target.x, camera.target.y, camera.target.z };
|
|
float cameraUp[3] = { camera.up.x, camera.up.y, camera.up.z };
|
|
float cameraUp[3] = { camera.up.x, camera.up.y, camera.up.z };
|
|
|
|
|
|
float deltaTime = GetFrameTime();
|
|
float deltaTime = GetFrameTime();
|
|
runTime += deltaTime;
|
|
runTime += deltaTime;
|
|
-
|
|
|
|
|
|
+
|
|
// Set shader required uniform values
|
|
// Set shader required uniform values
|
|
SetShaderValue(shader, viewEyeLoc, cameraPos, 3);
|
|
SetShaderValue(shader, viewEyeLoc, cameraPos, 3);
|
|
SetShaderValue(shader, viewCenterLoc, cameraTarget, 3);
|
|
SetShaderValue(shader, viewCenterLoc, cameraTarget, 3);
|
|
@@ -86,9 +86,9 @@ int main()
|
|
// We only draw a white full-screen rectangle,
|
|
// We only draw a white full-screen rectangle,
|
|
// frame is generated in shader using raymarching
|
|
// frame is generated in shader using raymarching
|
|
BeginShaderMode(shader);
|
|
BeginShaderMode(shader);
|
|
- DrawRectangle(0, 0, screenWidth, screenHeight, WHITE);
|
|
|
|
|
|
+ DrawRectangle(0, 0, screenWidth, screenHeight, WHITE);
|
|
EndShaderMode();
|
|
EndShaderMode();
|
|
-
|
|
|
|
|
|
+
|
|
DrawText("(c) Raymarching shader by Iñigo Quilez. MIT License.", screenWidth - 280, screenHeight - 20, 10, GRAY);
|
|
DrawText("(c) Raymarching shader by Iñigo Quilez. MIT License.", screenWidth - 280, screenHeight - 20, 10, GRAY);
|
|
|
|
|
|
EndDrawing();
|
|
EndDrawing();
|