| @ -1,39 +1,83 @@ | |||||
| #include <math.h> | |||||
| /******************************************************************************************* | |||||
| * | |||||
| * raylib [core] example - Basic 3d example | |||||
| * | |||||
| * Welcome to raylib! | |||||
| * | |||||
| * To compile example, just press F5. | |||||
| * Note that compiled executable is placed in the same folder as .c file | |||||
| * | |||||
| * You can find all basic examples on C:\raylib\raylib\examples folder or | |||||
| * raylib official webpage: www.raylib.com | |||||
| * | |||||
| * Enjoy using raylib. :) | |||||
| * | |||||
| * This example has been created using raylib 1.0 (www.raylib.com) | |||||
| * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) | |||||
| * | |||||
| * Copyright (c) 2013-2019 Ramon Santamaria (@raysan5) | |||||
| * | |||||
| ********************************************************************************************/ | |||||
| #include "raylib.h" | #include "raylib.h" | ||||
| int main() { | |||||
| int screenWidth = 800; | |||||
| int screenHeight = 450; | |||||
| int main() | |||||
| { | |||||
| // Initialization | |||||
| //-------------------------------------------------------------------------------------- | |||||
| const int screenWidth = 800; | |||||
| const int screenHeight = 450; | |||||
| InitWindow(screenWidth, screenHeight, "raylib"); | InitWindow(screenWidth, screenHeight, "raylib"); | ||||
| Camera cam; | |||||
| cam.position = (Vector3){ 0.f, 10.f, 8.f }; | |||||
| cam.target = (Vector3){ 0.f, 0.f, 0.f }; | |||||
| cam.up = (Vector3){ 0.f, 1.f, 0.f }; | |||||
| cam.fovy = 60.f; | |||||
| cam.type = CAMERA_PERSPECTIVE; | |||||
| Camera camera = { 0 }; | |||||
| camera.position = (Vector3){ 10.0f, 10.0f, 8.0f }; | |||||
| camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; | |||||
| camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; | |||||
| camera.fovy = 60.0f; | |||||
| camera.type = CAMERA_PERSPECTIVE; | |||||
| SetCameraMode(camera, CAMERA_ORBITAL); | |||||
| Vector3 cubePos = { 0.f, 0.f, 0.f }; | |||||
| Vector3 cubePosition = { 0.0f }; | |||||
| SetTargetFPS(60); | |||||
| SetTargetFPS(60); // Set our game to run at 60 frames-per-second | |||||
| //-------------------------------------------------------------------------------------- | |||||
| while (!WindowShouldClose()) { | |||||
| cam.position.x = sin(GetTime()) * 10.f; | |||||
| cam.position.z = cos(GetTime()) * 10.f; | |||||
| // Main game loop | |||||
| while (!WindowShouldClose()) // Detect window close button or ESC key | |||||
| { | |||||
| // Update | |||||
| //---------------------------------------------------------------------------------- | |||||
| UpdateCamera(&camera); | |||||
| //---------------------------------------------------------------------------------- | |||||
| // Draw | |||||
| //---------------------------------------------------------------------------------- | |||||
| BeginDrawing(); | BeginDrawing(); | ||||
| ClearBackground(RAYWHITE); | ClearBackground(RAYWHITE); | ||||
| BeginMode3D(cam); | |||||
| DrawCube(cubePos, 2.f, 2.f, 2.f, RED); | |||||
| DrawCubeWires(cubePos, 2.f, 2.f, 2.f, MAROON); | |||||
| DrawGrid(10, 1.f); | |||||
| BeginMode3D(camera); | |||||
| DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); | |||||
| DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); | |||||
| DrawGrid(10, 1.0f); | |||||
| EndMode3D(); | EndMode3D(); | ||||
| DrawText("This is a raylib example", 10, 40, 20, DARKGRAY); | DrawText("This is a raylib example", 10, 40, 20, DARKGRAY); | ||||
| DrawFPS(10, 10); | DrawFPS(10, 10); | ||||
| EndDrawing(); | EndDrawing(); | ||||
| //---------------------------------------------------------------------------------- | |||||
| } | } | ||||
| CloseWindow(); | |||||
| return 0; | |||||
| // De-Initialization | |||||
| //-------------------------------------------------------------------------------------- | |||||
| CloseWindow(); // Close window and OpenGL context | |||||
| //-------------------------------------------------------------------------------------- | |||||
| return 0; | |||||
| } | } | ||||