Updated release versions for raylib 1.8
This commit is contained in:
parent
1ef818b032
commit
df67e799dd
8 changed files with 48 additions and 27 deletions
|
@ -5,21 +5,22 @@
|
||||||
* A simple and easy-to-use library to learn videogames programming (www.raylib.com)
|
* A simple and easy-to-use library to learn videogames programming (www.raylib.com)
|
||||||
*
|
*
|
||||||
* FEATURES:
|
* FEATURES:
|
||||||
* - Library written in plain C code (C99)
|
* - Written in plain C code (C99) in PascalCase/camelCase notation
|
||||||
* - Multiple platforms supported: Windows, Linux, Mac, Android, Raspberry Pi, HTML5.
|
* - Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi and HTML5
|
||||||
* - Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0)
|
* - Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0)
|
||||||
* - Unique OpenGL abstraction layer (usable as standalone module): [rlgl]
|
* - Unique OpenGL abstraction layer (usable as standalone module): [rlgl]
|
||||||
* - Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF)
|
* - Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF)
|
||||||
* - Multiple textures support, including compressed formats and mipmaps generation
|
* - Outstanding texture formats support, including compressed formats (DXT, ETC, PVRT, ASTC)
|
||||||
* - Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps
|
* - Basic 3d support for Geometrics, Models, Billboards, Heightmaps and Cubicmaps
|
||||||
|
* - Flexible Materials system, supporting classic maps and PBR maps
|
||||||
|
* - Shaders support, including Model shaders and Postprocessing shaders
|
||||||
* - Powerful math module for Vector2, Vector3, Matrix and Quaternion operations: [raymath]
|
* - Powerful math module for Vector2, Vector3, Matrix and Quaternion operations: [raymath]
|
||||||
* - Audio loading and playing with streaming support and mixing channels: [audio]
|
* - Audio loading and playing with streaming support and mixing channels: [audio]
|
||||||
* - VR stereo rendering support with configurable HMD device parameters
|
* - VR stereo rendering support with configurable HMD device parameters
|
||||||
* - Minimal external dependencies (GLFW3, OpenGL, OpenAL)
|
* - Minimal external dependencies (GLFW3, OpenGL, OpenAL)
|
||||||
* - Complete bindings for Lua, Go and Pascal
|
* - Complete bindings to LUA (raylib-lua) and Go (raylib-go)
|
||||||
*
|
*
|
||||||
* NOTES:
|
* NOTES:
|
||||||
* 32bit Colors - Any defined Color is always RGBA (4 byte)
|
|
||||||
* One custom font is loaded by default when InitWindow() [core]
|
* One custom font is loaded by default when InitWindow() [core]
|
||||||
* If using OpenGL 3.3 or ES2, one default shader is loaded automatically (internally defined) [rlgl]
|
* If using OpenGL 3.3 or ES2, one default shader is loaded automatically (internally defined) [rlgl]
|
||||||
* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads
|
* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads
|
||||||
|
@ -31,12 +32,16 @@
|
||||||
*
|
*
|
||||||
* OPTIONAL DEPENDENCIES:
|
* OPTIONAL DEPENDENCIES:
|
||||||
* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures]
|
* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures]
|
||||||
|
* stb_image_resize (Sean Barret) for image resizing algorythms [textures]
|
||||||
* stb_image_write (Sean Barret) for image writting (PNG) [utils]
|
* stb_image_write (Sean Barret) for image writting (PNG) [utils]
|
||||||
* stb_truetype (Sean Barret) for ttf fonts loading [text]
|
* stb_truetype (Sean Barret) for ttf fonts loading [text]
|
||||||
* stb_vorbis (Sean Barret) for ogg audio loading [audio]
|
* stb_vorbis (Sean Barret) for ogg audio loading [audio]
|
||||||
|
* stb_perlin (Sean Barret) for Perlin noise image generation [textures]
|
||||||
|
* par_shapes (Philip Rideout) for parametric 3d shapes generation [models]
|
||||||
* jar_xm (Joshua Reisenauer) for XM audio module loading [audio]
|
* jar_xm (Joshua Reisenauer) for XM audio module loading [audio]
|
||||||
* jar_mod (Joshua Reisenauer) for MOD audio module loading [audio]
|
* jar_mod (Joshua Reisenauer) for MOD audio module loading [audio]
|
||||||
* dr_flac (David Reid) for FLAC audio file loading [audio]
|
* dr_flac (David Reid) for FLAC audio file loading [audio]
|
||||||
|
* rgif (Charlie Tangora, Ramon Santamaria) for GIF recording [core]
|
||||||
* tinfl for data decompression (DEFLATE algorithm) [rres]
|
* tinfl for data decompression (DEFLATE algorithm) [rres]
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
@ -303,7 +308,7 @@
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
// Boolean type
|
// Boolean type
|
||||||
#if !defined(_STDBOOL_H) || !defined(__STDBOOL_H) // CLang uses second form
|
#ifndef bool
|
||||||
typedef enum { false, true } bool;
|
typedef enum { false, true } bool;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -518,6 +523,20 @@ typedef struct RRESData {
|
||||||
// RRES type (pointer to RRESData array)
|
// RRES type (pointer to RRESData array)
|
||||||
typedef struct RRESData *RRES;
|
typedef struct RRESData *RRES;
|
||||||
|
|
||||||
|
// Head-Mounted-Display device parameters
|
||||||
|
typedef struct VrDeviceInfo {
|
||||||
|
int hResolution; // HMD horizontal resolution in pixels
|
||||||
|
int vResolution; // HMD vertical resolution in pixels
|
||||||
|
float hScreenSize; // HMD horizontal size in meters
|
||||||
|
float vScreenSize; // HMD vertical size in meters
|
||||||
|
float vScreenCenter; // HMD screen center in meters
|
||||||
|
float eyeToScreenDistance; // HMD distance between eye and display in meters
|
||||||
|
float lensSeparationDistance; // HMD lens separation distance in meters
|
||||||
|
float interpupillaryDistance; // HMD IPD (distance between pupils) in meters
|
||||||
|
float lensDistortionValues[4]; // HMD lens distortion constant parameters
|
||||||
|
float chromaAbCorrection[4]; // HMD chromatic aberration correction parameters
|
||||||
|
} VrDeviceInfo;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Enumerators Definition
|
// Enumerators Definition
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
@ -660,13 +679,10 @@ typedef enum {
|
||||||
HMD_DEFAULT_DEVICE = 0,
|
HMD_DEFAULT_DEVICE = 0,
|
||||||
HMD_OCULUS_RIFT_DK2,
|
HMD_OCULUS_RIFT_DK2,
|
||||||
HMD_OCULUS_RIFT_CV1,
|
HMD_OCULUS_RIFT_CV1,
|
||||||
|
HMD_OCULUS_GO,
|
||||||
HMD_VALVE_HTC_VIVE,
|
HMD_VALVE_HTC_VIVE,
|
||||||
HMD_SAMSUNG_GEAR_VR,
|
HMD_SONY_PSVR
|
||||||
HMD_GOOGLE_CARDBOARD,
|
} VrDeviceType;
|
||||||
HMD_SONY_PLAYSTATION_VR,
|
|
||||||
HMD_RAZER_OSVR,
|
|
||||||
HMD_FOVE_VR,
|
|
||||||
} VrDevice;
|
|
||||||
|
|
||||||
// RRESData type
|
// RRESData type
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -1078,7 +1094,8 @@ RLAPI void BeginBlendMode(int mode); // Beg
|
||||||
RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending)
|
RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending)
|
||||||
|
|
||||||
// VR control functions
|
// VR control functions
|
||||||
RLAPI void InitVrSimulator(int vrDevice); // Init VR simulator for selected device
|
VrDeviceInfo GetVrDeviceInfo(int vrDeviceType); // Get VR device information for some standard devices
|
||||||
|
void InitVrSimulator(VrDeviceInfo info); // Init VR simulator for selected device parameters
|
||||||
RLAPI void CloseVrSimulator(void); // Close VR simulator for current device
|
RLAPI void CloseVrSimulator(void); // Close VR simulator for current device
|
||||||
RLAPI bool IsVrSimulatorReady(void); // Detect if VR simulator is ready
|
RLAPI bool IsVrSimulatorReady(void); // Detect if VR simulator is ready
|
||||||
RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera
|
RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
30
src/Makefile
30
src/Makefile
|
@ -46,7 +46,7 @@ RAYLIB_PATH ?= ..
|
||||||
|
|
||||||
# Library type used for raylib and OpenAL Soft: STATIC (.a) or SHARED (.so/.dll)
|
# Library type used for raylib and OpenAL Soft: STATIC (.a) or SHARED (.so/.dll)
|
||||||
# NOTE: OpenAL Soft library should be provided in the selected form
|
# NOTE: OpenAL Soft library should be provided in the selected form
|
||||||
RAYLIB_LIBTYPE ?= STATIC
|
RAYLIB_LIBTYPE ?= SHARED
|
||||||
OPENAL_LIBTYPE ?= STATIC
|
OPENAL_LIBTYPE ?= STATIC
|
||||||
|
|
||||||
# On PLATFORM_WEB force OpenAL Soft shared library
|
# On PLATFORM_WEB force OpenAL Soft shared library
|
||||||
|
@ -85,14 +85,25 @@ endif
|
||||||
ifeq ($(PLATFORM),PLATFORM_WEB)
|
ifeq ($(PLATFORM),PLATFORM_WEB)
|
||||||
# Emscripten required variables
|
# Emscripten required variables
|
||||||
EMSDK_PATH = C:/emsdk
|
EMSDK_PATH = C:/emsdk
|
||||||
EMSCRIPTEN_VERSION = 1.37.9
|
EMSCRIPTEN_VERSION = 1.37.21
|
||||||
CLANG_VERSION=e1.37.9_64bit
|
CLANG_VERSION=e1.37.21_64bit
|
||||||
PYTHON_VERSION=2.7.5.3_64bit
|
PYTHON_VERSION=2.7.5.3_64bit
|
||||||
NODE_VERSION=4.1.1_64bit
|
NODE_VERSION=4.1.1_64bit
|
||||||
export PATH=$(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
|
export PATH=$(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
|
||||||
EMSCRIPTEN=$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
|
EMSCRIPTEN=$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),PLATFORM_ANDROID)
|
||||||
|
# Android required path variables
|
||||||
|
ANDROID_NDK = C:/android-ndk
|
||||||
|
ANDROID_TOOLCHAIN = C:/android_toolchain_arm_api16
|
||||||
|
|
||||||
|
# Android architecture: ARM or ARM64
|
||||||
|
ANDROID_ARCH ?= ARM
|
||||||
|
endif
|
||||||
|
|
||||||
|
RAYLIB_RELEASE_PATH ?= $(RAYLIB_PATH)/release/libs
|
||||||
|
|
||||||
# Define output directory for compiled library
|
# Define output directory for compiled library
|
||||||
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
ifeq ($(PLATFORM_OS),WINDOWS)
|
ifeq ($(PLATFORM_OS),WINDOWS)
|
||||||
|
@ -120,15 +131,6 @@ ifeq ($(PLATFORM),PLATFORM_ANDROID)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM),PLATFORM_ANDROID)
|
|
||||||
# Android required path variables
|
|
||||||
ANDROID_NDK = C:/android-ndk
|
|
||||||
ANDROID_TOOLCHAIN = C:/android_toolchain_arm_api16
|
|
||||||
|
|
||||||
# Android architecture: ARM or ARM64
|
|
||||||
ANDROID_ARCH ?= ARM
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Define raylib graphics api depending on selected platform
|
# Define raylib graphics api depending on selected platform
|
||||||
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
|
||||||
# By default use OpenGL 3.3 on desktop platforms
|
# By default use OpenGL 3.3 on desktop platforms
|
||||||
|
@ -304,8 +306,9 @@ else
|
||||||
ifeq ($(RAYLIB_LIBTYPE),SHARED)
|
ifeq ($(RAYLIB_LIBTYPE),SHARED)
|
||||||
# NOTE: If using OpenAL Soft as static library, all its dependencies must be also linked in the shared library
|
# NOTE: If using OpenAL Soft as static library, all its dependencies must be also linked in the shared library
|
||||||
ifeq ($(PLATFORM_OS),WINDOWS)
|
ifeq ($(PLATFORM_OS),WINDOWS)
|
||||||
$(CC) -shared -o $(RAYLIB_RELEASE_PATH)/raylib.dll $(OBJS) $(ALLIBS) -Lexternal/glfw3/lib/win32 -Lexternal/openal_soft/lib/win32 -lglfw3 -lgdi32 -Wl,--out-implib,$(RAYLIB_RELEASE_PATH)/libraylibdll.a
|
$(CC) -shared -o $(RAYLIB_RELEASE_PATH)/raylib.dll $(OBJS) -L$(RAYLIB_RELEASE_PATH) -lglfw3 -lgdi32 -lopenal32 -lwinmm -Wl,--out-implib,$(RAYLIB_RELEASE_PATH)/libraylibdll.a
|
||||||
@echo "raylib dynamic library (raylib.dll) and import library (libraylibdll.a) generated!"
|
@echo "raylib dynamic library (raylib.dll) and import library (libraylibdll.a) generated!"
|
||||||
|
@echo "expected OpenAL Soft static library linking"
|
||||||
endif
|
endif
|
||||||
ifeq ($(PLATFORM_OS),LINUX)
|
ifeq ($(PLATFORM_OS),LINUX)
|
||||||
# Compile raylib to shared library version for GNU/Linux.
|
# Compile raylib to shared library version for GNU/Linux.
|
||||||
|
@ -324,6 +327,7 @@ else
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
# Compile raylib static library.
|
# Compile raylib static library.
|
||||||
|
@echo raylib library release path is $(RAYLIB_RELEASE_PATH)
|
||||||
$(AR) rcs $(RAYLIB_RELEASE_PATH)/libraylib.a $(OBJS)
|
$(AR) rcs $(RAYLIB_RELEASE_PATH)/libraylib.a $(OBJS)
|
||||||
@echo "raylib static library generated (libraylib.a)!"
|
@echo "raylib static library generated (libraylib.a)!"
|
||||||
ifeq ($(OPENAL_LIBTYPE),STATIC)
|
ifeq ($(OPENAL_LIBTYPE),STATIC)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue