|
|
@@ -627,18 +627,22 @@ package Raylib is |
|
|
|
type Quaternion is new Vector_4D; |
|
|
|
|
|
|
|
type Matrix_4D is record |
|
|
|
--~M00, M10, M20, M30, |
|
|
|
--~M01, M11, M21, M31, |
|
|
|
--~M02, M12, M22, M32, |
|
|
|
--~M03, M13, M23, M33 : Float := ( |
|
|
|
--~1.0, 0.0, 0.0, 0.0, |
|
|
|
--~0.0, 1.0, 0.0, 0.0, |
|
|
|
--~0.0, 0.0, 1.0, 0.0, |
|
|
|
--~0.0, 0.0, 0.0, 1.0); |
|
|
|
M00, M10, M20, M30, |
|
|
|
M01, M11, M21, M31, |
|
|
|
M02, M12, M22, M32, |
|
|
|
M03, M13, M23, M33 : Float; |
|
|
|
M00 : Float := 1.0; |
|
|
|
M10 : Float := 0.0; |
|
|
|
M20 : Float := 0.0; |
|
|
|
M30 : Float := 0.0; |
|
|
|
M01 : Float := 0.0; |
|
|
|
M11 : Float := 1.0; |
|
|
|
M21 : Float := 0.0; |
|
|
|
M31 : Float := 0.0; |
|
|
|
M02 : Float := 0.0; |
|
|
|
M12 : Float := 0.0; |
|
|
|
M22 : Float := 1.0; |
|
|
|
M32 : Float := 0.0; |
|
|
|
M03 : Float := 0.0; |
|
|
|
M13 : Float := 0.0; |
|
|
|
M23 : Float := 0.0; |
|
|
|
M33 : Float := 1.0; |
|
|
|
end record with Convention => C_Pass_By_Copy; |
|
|
|
|
|
|
|
Id_Matrix : Matrix_4D; |
|
|
@@ -725,6 +729,8 @@ package Raylib is |
|
|
|
Projection : Camera_Projection := Camera_Perspective; |
|
|
|
end record with Convention => C_Pass_By_Copy; |
|
|
|
|
|
|
|
No_Camera_3D : Camera_3D; |
|
|
|
|
|
|
|
type Camera_2D is record |
|
|
|
Offset : Vector_2D := (0.0, 0.0); |
|
|
|
Target : Vector_2D := (0.0, 0.0); |
|
|
@@ -732,6 +738,8 @@ package Raylib is |
|
|
|
Zoom : Float := 0.0; |
|
|
|
end record with Convention => C_Pass_By_Copy; |
|
|
|
|
|
|
|
No_Camera_2D : Camera_2D; |
|
|
|
|
|
|
|
type Mesh is record |
|
|
|
Vertex_Count : Integer := 0; |
|
|
|
Triangle_Count : Integer := 0; |
|
|
@@ -1475,44 +1483,65 @@ package Raylib is |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "UnloadShader"; |
|
|
|
--~################################################################ |
|
|
|
--~################################################################ |
|
|
|
--~################################################################ |
|
|
|
--~function Ray GetMouseRay (Vector2 mousePosition, Camera camera) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
|
|
|
|
--~function Matrix GetCameraMatrix (Camera camera) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
function Get_Mouse_Ray ( |
|
|
|
Mouse_Position : Vector_2D := (0.0, 0.0); |
|
|
|
Camera : Camera_3D := No_Camera_3D |
|
|
|
) return Ray with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetMouseRay"; |
|
|
|
|
|
|
|
--~function Matrix GetCameraMatrix2D (Camera2D camera) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
function Get_Camera_Matrix_3D ( |
|
|
|
Camera : Camera_3D := No_Camera_3D |
|
|
|
) return Matrix_4D with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetCameraMatrix"; |
|
|
|
|
|
|
|
--~function Vector2 GetWorldToScreen (Vector3 position, Camera camera) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
function Get_Camera_Matrix_2D ( |
|
|
|
Camera : Camera_2D := No_Camera_2D |
|
|
|
) return Matrix_4D with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetCameraMatrix2D"; |
|
|
|
|
|
|
|
--~function Vector2 GetScreenToWorld2D (Vector2 position, Camera2D camera) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
function Get_World_To_Screen_3D ( |
|
|
|
Position : Vector_3D := (0.0, 0.0, 0.0); |
|
|
|
Camera : Camera_3D := No_Camera_3D |
|
|
|
) return Vector_2D with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetWorldToScreen"; |
|
|
|
|
|
|
|
--~function Vector2 GetWorldToScreenEx (Vector3 position, Camera camera, int width, int height) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
function Get_Screen_To_World_2D ( |
|
|
|
Position : Vector_2D := (0.0, 0.0); |
|
|
|
Camera : Camera_2D := No_Camera_2D |
|
|
|
) return Vector_2D with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetScreenToWorld2D"; |
|
|
|
|
|
|
|
--~function Vector2 GetWorldToScreen2D (Vector2 position, Camera2D camera) with |
|
|
|
--~Import => True, |
|
|
|
--~Convention => C, |
|
|
|
--~External_Name => ""; |
|
|
|
function Get_World_To_Screen_Ex ( |
|
|
|
Position : Vector_3D := (0.0, 0.0, 0.0); |
|
|
|
Camera : Camera_3D := No_Camera_3D; |
|
|
|
Width : Integer := 0; |
|
|
|
Height : Integer := 0 |
|
|
|
) return Vector_2D with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetWorldToScreenEx"; |
|
|
|
|
|
|
|
function Get_World_To_Screen_2D ( |
|
|
|
Position : Vector_2D := (0.0, 0.0); |
|
|
|
Camera : Camera_2D := No_Camera_2D |
|
|
|
) return Vector_2D with |
|
|
|
Import => True, |
|
|
|
Convention => C, |
|
|
|
External_Name => "GetWorldToScreen2D"; |
|
|
|
################################################################ |
|
|
|
################################################################ |
|
|
|
################################################################ |
|
|
|
procedure Set_Target_FPS ( |
|
|
|
FPS : Integer := 60 |
|
|
|
) with |
|
|
|