From 32330801c96ad017de1334922a8a88f08811e6f4 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 30 Aug 2015 17:46:37 +0200 Subject: [PATCH] Updates some examples --- examples/core_3d_camera_first_person.c | 91 +++++++++++++++++++++++ examples/core_3d_camera_first_person.png | Bin 0 -> 18402 bytes examples/core_3d_camera_free.c | 2 +- examples/core_3d_picking.c | 2 +- examples/models_billboard.c | 2 +- examples/models_cubicmap.c | 10 +-- examples/models_heightmap.c | 12 +-- examples/text_font_select.c | 10 +-- examples/text_rbmf_fonts.c | 10 +-- examples/text_sprite_fonts.c | 18 ++--- 10 files changed, 124 insertions(+), 33 deletions(-) create mode 100644 examples/core_3d_camera_first_person.c create mode 100644 examples/core_3d_camera_first_person.png diff --git a/examples/core_3d_camera_first_person.c b/examples/core_3d_camera_first_person.c new file mode 100644 index 000000000..cd37f873d --- /dev/null +++ b/examples/core_3d_camera_first_person.c @@ -0,0 +1,91 @@ +/******************************************************************************************* +* +* raylib [core] example - 3d camera first person +* +* This example has been created using raylib 1.3 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_COLUMNS 20 + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - 3d camera first person"); + + // Define the camera to look into our 3d world + Camera camera = {{ 0.0, 10.0, 10.0 }, { 0.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }}; + + // Generates some random columns + float heights[MAX_COLUMNS]; + Vector3 positions[MAX_COLUMNS] = { 0.0, 2.5, 0.0 }; + Color colors[MAX_COLUMNS]; + + for (int i = 0; i < MAX_COLUMNS; i++) + { + heights[i] = (float)GetRandomValue(1, 12); + positions[i] = (Vector3){ GetRandomValue(-15, 15), heights[i]/2, GetRandomValue(-15, 15) }; + colors[i] = (Color){ GetRandomValue(20, 255), GetRandomValue(10, 55), 30, 255 }; + } + + Vector3 playerPosition = { 4, 2, 4 }; // Define player position + + SetCameraMode(CAMERA_FIRST_PERSON); // Set a first person camera mode + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCameraPlayer(&camera, &playerPosition); // Update camera and player position + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + Begin3dMode(camera); + + DrawPlane((Vector3){ 0, 0, 0 }, (Vector2){ 32, 32 }, LIGHTGRAY); // Draw ground + DrawCube((Vector3){ -16, 2.5, 0 }, 1, 5, 32, BLUE); // Draw a blue wall + DrawCube((Vector3){ 16, 2.5, 0 }, 1, 5, 32, LIME); // Draw a green wall + DrawCube((Vector3){ 0, 2.5, 16 }, 32, 5, 1, GOLD); // Draw a yellow wall + + // Draw some cubes around + for (int i = 0; i < MAX_COLUMNS; i++) + { + DrawCube(positions[i], 2, heights[i], 2, colors[i]); + DrawCubeWires(positions[i], 2, heights[i], 2, MAROON); + } + + End3dMode(); + + DrawText("First person camera default controls:", 20, 20, 10, GRAY); + DrawText("- Move with keys: W, A, S, D", 40, 50, 10, DARKGRAY); + DrawText("- Mouse move to lokk around", 40, 70, 10, DARKGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/core_3d_camera_first_person.png b/examples/core_3d_camera_first_person.png new file mode 100644 index 0000000000000000000000000000000000000000..9373da2dad4399fdaf75f0394c4aa6ba43cb3ea6 GIT binary patch literal 18402 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 literal 0 HcmV?d00001 diff --git a/examples/core_3d_camera_free.c b/examples/core_3d_camera_free.c index b54a99c1e..cca9cfd50 100644 --- a/examples/core_3d_camera_free.c +++ b/examples/core_3d_camera_free.c @@ -37,7 +37,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - camera = UpdateCamera(0); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/core_3d_picking.c b/examples/core_3d_picking.c index 28503570e..13839070d 100644 --- a/examples/core_3d_picking.c +++ b/examples/core_3d_picking.c @@ -38,7 +38,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - camera = UpdateCamera(0); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) { diff --git a/examples/models_billboard.c b/examples/models_billboard.c index 511d61ced..05d836ca3 100644 --- a/examples/models_billboard.c +++ b/examples/models_billboard.c @@ -38,7 +38,7 @@ int main() { // Update //---------------------------------------------------------------------------------- - camera = UpdateCamera(0); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/models_cubicmap.c b/examples/models_cubicmap.c index 3b20907b9..d7fe896ce 100644 --- a/examples/models_cubicmap.c +++ b/examples/models_cubicmap.c @@ -35,18 +35,18 @@ int main() UnloadImage(image); // Unload cubesmap image from RAM, already uploaded to VRAM - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our custom camera position + SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode + SetCameraPosition(camera.position); // Set internal camera position to match our custom camera position - SetTargetFPS(60); // Set our game to run at 60 frames-per-second + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key + while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - camera = UpdateCamera(0); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/models_heightmap.c b/examples/models_heightmap.c index 7de31a8e1..fec3f5e63 100644 --- a/examples/models_heightmap.c +++ b/examples/models_heightmap.c @@ -29,20 +29,20 @@ int main() SetModelTexture(&map, texture); // Bind texture to model Vector3 mapPosition = { -16, 0.0, -16 }; // Set model position (depends on model scaling!) - UnloadImage(image); // Unload heightmap image from RAM, already uploaded to VRAM + UnloadImage(image); // Unload heightmap image from RAM, already uploaded to VRAM - SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode - SetCameraPosition(camera.position); // Set internal camera position to match our custom camera position + SetCameraMode(CAMERA_ORBITAL); // Set an orbital camera mode + SetCameraPosition(camera.position); // Set internal camera position to match our custom camera position - SetTargetFPS(60); // Set our game to run at 60 frames-per-second + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key + while (!WindowShouldClose()) // Detect window close button or ESC key { // Update //---------------------------------------------------------------------------------- - camera = UpdateCamera(0); // Update internal camera and our camera + UpdateCamera(&camera); // Update internal camera and our camera //---------------------------------------------------------------------------------- // Draw diff --git a/examples/text_font_select.c b/examples/text_font_select.c index 25825aba6..fe586db86 100644 --- a/examples/text_font_select.c +++ b/examples/text_font_select.c @@ -2,10 +2,10 @@ * * raylib [text] example - Font selector * -* This example has been created using raylib 1.0 (www.raylib.com) +* This example has been created using raylib 1.3 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2014 Ramon Santamaria (@raysan5) +* Copyright (c) 2015 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -41,7 +41,7 @@ int main() const char text[50] = "THIS is THE FONT you SELECTED!"; // Main text - Vector2 textSize = MeasureTextEx(fonts[currentFont], text, GetFontBaseSize(fonts[currentFont])*3, 1); + Vector2 textSize = MeasureTextEx(fonts[currentFont], text, fonts[currentFont].size*3, 1); Vector2 mousePoint; @@ -118,7 +118,7 @@ int main() } // Text measurement for better positioning on screen - textSize = MeasureTextEx(fonts[currentFont], text, GetFontBaseSize(fonts[currentFont])*3, 1); + textSize = MeasureTextEx(fonts[currentFont], text, fonts[currentFont].size*3, 1); //---------------------------------------------------------------------------------- // Draw @@ -140,7 +140,7 @@ int main() DrawText("NEXT", 700, positionY + 13, 20, btnNextOutColor); DrawTextEx(fonts[currentFont], text, (Vector2){ screenWidth/2 - textSize.x/2, - 260 + (70 - textSize.y)/2 }, GetFontBaseSize(fonts[currentFont])*3, + 260 + (70 - textSize.y)/2 }, fonts[currentFont].size*3, 1, colors[currentFont]); EndDrawing(); diff --git a/examples/text_rbmf_fonts.c b/examples/text_rbmf_fonts.c index 74e3da6b9..b4bd851bd 100644 --- a/examples/text_rbmf_fonts.c +++ b/examples/text_rbmf_fonts.c @@ -5,10 +5,10 @@ * NOTE: raylib is distributed with some free to use fonts (even for commercial pourposes!) * To view details and credits for those fonts, check raylib license file * -* This example has been created using raylib 1.0 (www.raylib.com) +* This example has been created using raylib 1.3 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2014 Ramon Santamaria (@raysan5) +* Copyright (c) 2015 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -50,8 +50,8 @@ int main() for (int i = 0; i < 8; i++) { - positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], GetFontBaseSize(fonts[i])*2, spacings[i]).x/2; - positions[i].y = 60 + GetFontBaseSize(fonts[i]) + 50*i; + positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].size*2, spacings[i]).x/2; + positions[i].y = 60 + fonts[i].size + 50*i; } Color colors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD }; @@ -76,7 +76,7 @@ int main() for (int i = 0; i < 8; i++) { - DrawTextEx(fonts[i], messages[i], positions[i], GetFontBaseSize(fonts[i])*2, spacings[i], colors[i]); + DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].size*2, spacings[i], colors[i]); } EndDrawing(); diff --git a/examples/text_sprite_fonts.c b/examples/text_sprite_fonts.c index 423fa2504..c73eda854 100644 --- a/examples/text_sprite_fonts.c +++ b/examples/text_sprite_fonts.c @@ -31,14 +31,14 @@ int main() Vector2 fontPosition1, fontPosition2, fontPosition3; - fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, GetFontBaseSize(font1), -3).x/2; - fontPosition1.y = screenHeight/2 - GetFontBaseSize(font1)/2 - 80; + fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, font1.size, -3).x/2; + fontPosition1.y = screenHeight/2 - font1.size/2 - 80; - fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, GetFontBaseSize(font2), -2).x/2; - fontPosition2.y = screenHeight/2 - GetFontBaseSize(font2)/2 - 10; + fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, font2.size, -2).x/2; + fontPosition2.y = screenHeight/2 - font2.size/2 - 10; - fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, GetFontBaseSize(font3), 2).x/2; - fontPosition3.y = screenHeight/2 - GetFontBaseSize(font3)/2 + 50; + fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, font3.size, 2).x/2; + fontPosition3.y = screenHeight/2 - font3.size/2 + 50; //-------------------------------------------------------------------------------------- @@ -56,9 +56,9 @@ int main() ClearBackground(RAYWHITE); - DrawTextEx(font1, msg1, fontPosition1, GetFontBaseSize(font1), -3, WHITE); - DrawTextEx(font2, msg2, fontPosition2, GetFontBaseSize(font2), -2, WHITE); - DrawTextEx(font3, msg3, fontPosition3, GetFontBaseSize(font3), 2, WHITE); + DrawTextEx(font1, msg1, fontPosition1, font1.size, -3, WHITE); + DrawTextEx(font2, msg2, fontPosition2, font2.size, -2, WHITE); + DrawTextEx(font3, msg3, fontPosition3, font3.size, 2, WHITE); EndDrawing(); //----------------------------------------------------------------------------------