You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

910 line
52 KiB

7 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
5 年之前
6 年之前
6 年之前
5 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
6 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
7 年之前
11 年之前
8 年之前
7 年之前
8 年之前
8 年之前
8 年之前
8 年之前
8 年之前
8 年之前
8 年之前
11 年之前
8 年之前
8 年之前
8 年之前
8 年之前
7 年之前
8 年之前
7 年之前
9 年之前
10 年之前
10 年之前
10 年之前
10 年之前
11 年之前
11 年之前
11 年之前
11 年之前
11 年之前
11 年之前
11 年之前
  1. changelog
  2. ---------
  3. Current Release: raylib 2.5.0 (31 May 2019)
  4. -----------------------------------------------
  5. Release: raylib 2.5 (May 2019)
  6. -----------------------------------------------
  7. KEY CHANGES:
  8. - [core] Redesigned Gamepad mechanism, now common to all platforms and gamepads
  9. - [core] HighDPI monitors support with automatic content scaling
  10. - [rlgl] Complete module redesign to use one single internal buffer
  11. - [rlgl] VR system redesign to allow custom device parameters and distortion shader
  12. - [shapes] New drawing shapes available: CircleSector, Ring and RectangleRounded
  13. - [text] New text management API (multiple functions)
  14. - [text] Full Unicode support (utf8 text)
  15. - [textures] Cubemap textures support
  16. - [textures] Quad and N-Patch drawing
  17. - [models] Skeletal model animation support
  18. - [models] Support multiple meshes per model
  19. - [models] Support glTF model loading
  20. Detailed changes:
  21. [build] REVIEWED: Default raylib and examples Makefile
  22. [build] REVIEWED: Notepad++ NppExec scripts
  23. [build] REVIEWED: VS2015 and VS2017 projects
  24. [build] REVIEWED: Android APK build pipeline
  25. [core] Converted most #defined values as enum values
  26. [core] Complete redesign of RPI input system to use evdev events
  27. [core] ADDED: IsWindowResized() - Check if window has been resized
  28. [core] ADDED: IsWindowHidden() - Check if window is currently hidden
  29. [core] ADDED: UnhideWindow() - Show the window
  30. [core] ADDED: HideWindow() - Hide the window
  31. [core] ADDED: GetWindowHandle() - Get native window handle
  32. [core] ADDED: GetMonitorCount() - Get number of connected monitors
  33. [core] ADDED: GetMonitorWidth() - Get primary monitor width
  34. [core] ADDED: GetMonitorHeight() - Get primary monitor height
  35. [core] ADDED: GetMonitorPhysicalWidth() - Get primary monitor physical width in millimetres
  36. [core] ADDED: GetMonitorPhysicalHeight() - Get primary monitor physical height in millimetres
  37. [core] ADDED: GetMonitorName() - Get the human-readable, UTF-8 encoded name of the primary monitor
  38. [core] ADDED: GetClipboardText() - Get clipboard text content
  39. [core] ADDED: SetClipboardText() - Set clipboard text content
  40. [core] ADDED: ColorFromHSV() - Returns a Color from HSV values
  41. [core] ADDED: FileExists() - Check if file exists
  42. [core] ADDED: GetFileNameWithoutExt() - Get filename string without extension (memory should be freed)
  43. [core] ADDED: GetDirectoryFiles() - Get filenames in a directory path (memory should be freed)
  44. [core] ADDED: ClearDirectoryFiles() - Clear directory files paths buffers (free memory)
  45. [core] ADDED: OpenURL() - Open URL with default system browser (if available)
  46. [core] ADDED: SetMouseOffset() - Set mouse offset
  47. [core] ADDED: SetMouseScale() - Set mouse scaling
  48. [core] REMOVED: ShowLogo() - Activate raylib logo at startup (can be done with flags)
  49. [shapes] ADDED: DrawCircleSector() - Draw a piece of a circle
  50. [shapes] ADDED: DrawCircleSectorLines() - Draw circle sector outline
  51. [shapes] ADDED: DrawRing() - Draw ring
  52. [shapes] ADDED: DrawRingLines() - Draw ring outline
  53. [shapes] ADDED: DrawRectangleRounded() - Draw rectangle with rounded edges
  54. [shapes] ADDED: DrawRectangleRoundedLines() - Draw rectangle with rounded edges outline
  55. [shapes] ADDED: SetShapesTexture() - Define default texture used to draw shapes
  56. [textures] REVIEWED: ExportImage() - Reorder function parameters
  57. [textures] REVIEWED: ImageDrawRectangle() - Remove unneeded parameter
  58. [textures] ADDED: ExportImageAsCode() - Export image as code file defining an array of bytes
  59. [textures] ADDED: LoadTextureCubemap() - Load cubemap from image, multiple image cubemap layouts supported
  60. [textures] ADDED: ImageExtractPalette() - Extract color palette from image to maximum size (memory should be freed)
  61. [textures] ADDED: ImageDrawRectangleLines() - Draw rectangle lines within an image
  62. [textures] ADDED: DrawTextureQuad() - Draw texture quad with tiling and offset parameters
  63. [textures] ADDED: DrawTextureNPatch() - Draws a texture (or part of it) that stretches or shrinks nicely
  64. [models] REVIEWED: LoadMesh() -> LoadMeshes() - Support multiple meshes loading
  65. [models] REVIEWED: LoadMaterial() -> LoadMaterials() - Support multiple materials loading
  66. [models] REVIEWED: ExportMesh() - Reorder parameters
  67. [models] ADDED: DrawCubeWiresV() - Draw cube wires (Vector version)
  68. [models] ADDED: GenMeshPoly() - Generate polygonal mesh
  69. [models] ADDED: SetMaterialTexture() - Set texture for a material map type (MAP_DIFFUSE, MAP_SPECULAR...)
  70. [models] ADDED: SetModelMeshMaterial() - Set material for a mesh
  71. [models] ADDED: LoadModelAnimations() - Load model animations from file
  72. [models] ADDED: UpdateModelAnimation() - Update model animation pose
  73. [models] ADDED: UnloadModelAnimation() - Unload animation data
  74. [models] ADDED: IsModelAnimationValid() - Check model animation skeleton match
  75. [rlgl] Improved internal batching mechanism (multibuffering support, triangle texcoords...)
  76. [rlgl] REVIEWED: rlPushMatrix()/rlPopMatrix() - Now works like OpenGL 1.1
  77. [rlgl] REVIEWED: SetShaderValue() - More generic, now requires uniform type
  78. [rlgl] REMOVED: SetShaderValuei() - Can be acoomplished with new SetShaderValue()
  79. [rlgl] ADDED: SetShaderValueV() - Set shader uniform value vector
  80. [rlgl] ADDED: SetShaderValueTexture() - Set shader uniform value for texture
  81. [rlgl] ADDED: BeginScissorMode() - Begin scissor mode (define screen area for following drawing)
  82. [rlgl] ADDED: EndScissorMode() - End scissor mode
  83. [rlgl] ADDED: SetVrConfiguration() - Set stereo rendering configuration parameters
  84. [rlgl] REVIEWED: InitVrSimulator() - No input parameter required, use SetVrConfiguration()
  85. [text] REVIEWED: LoadFontEx() - Reorder function parameters
  86. [text] REVIEWED: LoadFontData() - Reorder function parameters
  87. [text] REVIEWED: GenImageFontAtlas() - Reorder function parameters
  88. [text] RENAMED: FormatText() -> TextFormat()
  89. [text] RENAMED: SubText() -> TextSubtext()
  90. [text] ADDED: LoadFontFromImage() - Load font from Image (XNA style)
  91. [text] ADDED: DrawTextRec() - Draw text using font inside rectangle limits
  92. [text] ADDED: DrawTextRecEx() - Draw text using font inside rectangle limits with support for text selection
  93. [text] ADDED: TextIsEqual() - Check if two text string are equal
  94. [text] ADDED: TextLength() - Get text length, checks for '\0' ending
  95. [text] ADDED: TextReplace() - Replace text string (memory should be freed!)
  96. [text] ADDED: TextInsert() - Insert text in a position (memory should be freed!)
  97. [text] ADDED: TextJoin() - Join text strings with delimiter
  98. [text] ADDED: TextSplit() - Split text into multiple strings
  99. [text] ADDED: TextAppend() - Append text at specific position and move cursor!
  100. [text] ADDED: TextFindIndex() - Find first text occurrence within a string
  101. [text] ADDED: TextToUpper() - Get upper case version of provided string
  102. [text] ADDED: TextToLower() - Get lower case version of provided string
  103. [text] ADDED: TextToPascal() - Get Pascal case notation version of provided string
  104. [text] ADDED: TextToInteger() - Get integer value from text (negative values not supported)
  105. [raudio] ADDED: ExportWave() - Export wave data to file
  106. [raudio] ADDED: ExportWaveAsCode() - Export wave sample data to code (.h)
  107. [raudio] ADDED: IsAudioStreamPlaying() - Check if audio stream is playing
  108. [raudio] ADDED: SetAudioStreamVolume() - Set volume for audio stream (1.0 is max level)
  109. [raudio] ADDED: SetAudioStreamPitch() - Set pitch for audio stream (1.0 is base level)
  110. [examples] Complete review of full examples collection, many additions
  111. [examples] ADDED: core_custom_logging - Custom trace log system
  112. [examples] ADDED: core_input_multitouch - Multitouch input example
  113. [examples] ADDED: core_window_letterbox - Window adapted to screen
  114. [examples] ADDED: core_loading_thread - Data loading in second thread
  115. [examples] REVIEWED: core_input_gamepad - Adapted to new gamepad system
  116. [examples] REVIEWED: core_vr_simulator - HMD device parameters and distortion shader should be provided
  117. [examples] ADDED: core_window_scale_letterbox - Windows resizing and letterbox content
  118. [examples] ADDED: shapes_rectangle_scaling_mouse - Scale a rectangle with mouse
  119. [examples] ADDED: shapes_draw_circle_sector - Circle sector drawing
  120. [examples] ADDED: shapes_draw_ring - Ring drawing
  121. [examples] ADDED: shapes_draw_rectangle_rounded - Rounded rectangle drawing
  122. [examples] ADDED: shapes_bouncing_ball - Ball bouncing in the screen
  123. [examples] ADDED: shapes_collision_area - Collision detection and drawing
  124. [examples] ADDED: shapes_following_eyes - Some maths on eyes and mouse
  125. [examples] ADDED: shapes_easings_ball_anim - Ball animation
  126. [examples] ADDED: shapes_easings_box_anim - Box animation
  127. [examples] ADDED: shapes_easings_rectangle_array - Rectangles animation
  128. [examples] REVIEWED: shapes_colors_palette - Reviewed color selection and text displaying
  129. [examples] ADDED: textures_background_scrolling - Scrolling and parallaz background effect
  130. [examples] ADDED: textures_image_npatch - Drawing N-Patch based boxes
  131. [examples] ADDED: textures_sprite_button - Sprite button with sound
  132. [examples] ADDED: textures_sprite_explosion - Sprite explosion with sound
  133. [examples] ADDED: textures_bunnymark - Benchmarking test
  134. [examples] ADDED: text_draw_inside_rectangle - Drawing text inside a delimited rectangle box
  135. [examples] ADDED: text_unicode - Multiple languages text drawing
  136. [examples] ADDED: text_rectangle_bound - Fit text inside a rectangle
  137. [examples] REVIEWED: text_bmfont_ttf - Simplified example
  138. [examples] ADDED: models_animation - Animated models loading and animation playing
  139. [examples] ADDED: models_obj_viewer - Draw and drop models viewer
  140. [examples] ADDED: models_rlgl_solar_system - Solar system simulation using rlgl functionality
  141. [examples] ADDED: models_first_person_maze - 3D maze fps
  142. [examples] ADDED: shaders_palette_switch - Switching color palette on shader
  143. [examples] ADDED: shaders_raymarching - Raymarching shader
  144. [examples] ADDED: shaders_texture_drawing - Texture drawing on GPU
  145. [examples] ADDED: shaders_texture_waves - Texture waves on shader
  146. [examples] ADDED: shaders_julia_set - Julia set fractals
  147. [examples] ADDED: shaders_eratosthenes - Prime number visualization shader
  148. [examples] REVIEWED: audio_raw_stream - Mostly rewritten
  149. [games] ADDED: GGJ19 game - Cat vs Roomba
  150. [*] Updated external libraries to latest version
  151. [*] Multiple bugs corrected (check github issues)
  152. -----------------------------------------------
  153. Release: raylib 2.0 (July 2018)
  154. -----------------------------------------------
  155. KEY CHANGES:
  156. - Removed external dependencies (GLFW3 and OpenAL)
  157. - Complete redesign of audio module to use miniaudio library
  158. - Support AppVeyor and Travis CI (continuous integration) building
  159. - Reviewed raymath.h for better consistency and performance (inlining)
  160. - Refactor all #define SUPPORT_* into a single config.h
  161. - Support TCC compiler (32bit and 64bit)
  162. Detailed changes:
  163. [build] REMOVED: GitHub develop branch
  164. [build] REMOVED: External dependencies GLFW and OpenAL
  165. [build] ADDED: Android 64bit ARM support
  166. [build] ADDED: FreeBSD, OpenBSD, NetBSD, Dragon Fly OS support
  167. [build] ADDED: Universal Windows Platform (UWP) support
  168. [build] ADDED: Wayland Linux desktop support
  169. [build] ADDED: AppVeyor CI for automatic Windows builds
  170. [build] ADDED: Travis CI for automatic Linux/macOS builds
  171. [build] ADDED: rglfw (GLFW3 module) to avoid external dependency
  172. [build] ADDED: VS2017 UWP project
  173. [build] ADDED: Builder project template
  174. [build] ADDED: Compiler memory sanitizer for better debug
  175. [build] ADDED: CMake package target and CI auto-deploy tags
  176. [build] ADDED: DEBUG library building support
  177. [build] ADDED: Notepad++ NppExec scripts
  178. [build] REVIEWED: VS2015 and VS2017 projects
  179. [build] REVIEWED: Android APK build pipeline
  180. [core] REVIEWED: Window creation hints to support transparent windows
  181. [core] Unified InitWindow() between platforms
  182. [core] Export Android main entry point
  183. [core] RENAMED: Begin3dMode() to BeginMode3D()
  184. [core] RENAMED: End3dMode() to EndMode3D()
  185. [core] RENAMED: Begin2dMode() to BeginMode2D()
  186. [core] RENAMED: End2dMode() to EndMode2D()
  187. [core] RENAMED: struct Camera to Camera3D
  188. [core] RENAMED: struct SpriteFont to Font -> plus all required functions!
  189. [core] RENAMED: enum TextureFormat to PixelFormat
  190. [core] REVIEWED: Rectangle params int to float
  191. [core] REVIEWED: timing system for macOS
  192. [core] REMOVED: ColorToFloat()
  193. [core] ADDED: GetCurrentTime() on macOS
  194. [core] ADDED: GetTime()
  195. [core] ADDED: struct Vector4
  196. [core] ADDED: SetTraceLog() to define trace log messages type
  197. [core] ADDED: GetFileName() to get filename from path string
  198. [core] ADDED: ColorToHSV()
  199. [core] ADDED: ColorNormalize()
  200. [core] ADDED: SetWindowSize() to scale Windows in runtime
  201. [core] ADDED: SetMouseScale() to scale mouse input
  202. [core] ADDED: key definitions - KEY_GRAVE, KEY_SLASH, KEY_BACKSLASH
  203. [core] RENAMED: GetHexValue() to ColorToInt()
  204. [core] REVIEWED: Fade()
  205. [core] REVIEWED: InitWindow() to avoid void pointer (safety)
  206. [core] Support camera 3d orthographic projection mode
  207. [shapes] ADDED: DrawRectangleLinesEx()
  208. [textures] Improved pixel formats support (32bit channels)
  209. [textures] Improved textures support for OpenGL 2.1
  210. [textures] REMOVED: DrawRectangleT() --> Added support to DrawRectangle()
  211. [textures] ADDED: GetPixelDataSize(); pixel data size in bytes (image or texture)
  212. [textures] ADDED: ImageAlphaClear() --> Clear alpha channel to desired color
  213. [textures] ADDED: ImageAlphaCrop() --> Crop image depending on alpha value
  214. [textures] ADDED: ImageAlphaPremultiply() --> Premultiply alpha channel
  215. [textures] ADDED: ImageDrawRectangle()
  216. [textures] ADDED: ImageMipmaps()
  217. [textures] ADDED: GenImageColor()
  218. [textures] ADDED: GetPixelDataSize()
  219. [textures] ADDED: ImageRotateCW()
  220. [textures] ADDED: ImageRotateCCW()
  221. [textures] ADDED: ImageResizeCanvas()
  222. [textures] ADDED: GetImageDataNormalized()
  223. [textures] REVIEWED: ImageFormat() to use normalized data
  224. [textures] REVIEWED: Manual mipmap generation
  225. [textures] REVIEWED: LoadASTC()
  226. [textures] REVIEWED: GenImagePerlinNoise()
  227. [textures] REVIEWED: ImageTextEx() to support UTF8 basic characters
  228. [textures] REVIEWED: GetTextureData() for RPI - requires some work
  229. [textures] Added new example: text drawing on image
  230. [text] Corrected issue with ttf font y-offset
  231. [text] Support SDF font data generation
  232. [text] ADDED: GenImageFontAtlas()
  233. [text] ADDED: LoadFontData() to load data from TTF file
  234. [text] REMOVED: LoadTTF() internal function
  235. [text] REVIEWED: DrawTextEx() - avoid rendering SPACE character!
  236. [text] RENAMED: GetDefaultFont() to GetFontDefault()
  237. [rlgl] ADDED: rlCheckBufferLimit()
  238. [rlgl] ADDED: LoadShaderCode()
  239. [rlgl] ADDED: GetMatrixModelview()
  240. [rlgl] ADDED: SetVrDistortionShader(Shader shader)
  241. [rlgl] REVIEWED: rlLoadTexture() - added mipmaps support, improved compressed textures loading
  242. [rlgl] REVIEWED: rlReadTexturePixels()
  243. [models] Support 4 components mesh.tangent data
  244. [models] Removed tangents generation from LoadOBJ()
  245. [models] ADDED: MeshTangents()
  246. [models] ADDED: MeshBinormals()
  247. [models] ADDED: ExportMesh()
  248. [models] ADDED: GetCollisionRayModel()
  249. [models] RENAMED: CalculateBoundingBox() to MeshBoundingBox()
  250. [models] REMOVED: GetCollisionRayMesh() - does not consider model transform
  251. [models] REVIEWED: LoadMesh() - fallback to default cube mesh if loading fails
  252. [audio] ADDED: Support for MP3 fileformat
  253. [audio] ADDED: IsAudioStreamPlaying()
  254. [audio] ADDED: SetAudioStreamVolume()
  255. [audio] ADDED: SetAudioStreamPitch()
  256. [utils] Corrected issue with SaveImageAs()
  257. [utils] RENAMED: SaveImageAs() to ExportImage()
  258. [utils] REMOVED: rres support - moved to external library (rres.h)
  259. [shaders] REVIEWED: GLSL 120 shaders
  260. [raymath] ADDED: Vector3RotateByQuaternion()
  261. [raymath] REVIEWED: math usage to reduce temp variables
  262. [raymath] REVIEWED: Avoid pointer-based parameters for API consistency
  263. [physac] REVIEWED: physac.h timing system
  264. [examples] Replaced dwarf model by brand new 3d assets: 3d medieval buildings
  265. [examples] Assets cleaning and some replacements
  266. [games] ADDED: GGJ18 game - transmission mission
  267. [games] REVIEWED: Light my Ritual game - improved gameplay drawing
  268. [*] Updated external libraries to latest version
  269. [*] Multiple bugs corrected (check github issues)
  270. -----------------------------------------------
  271. Release: raylib 1.8.0 (Oct 2017)
  272. -----------------------------------------------
  273. NOTE:
  274. In this release, multiple parts of the library have been reviewed (again) for consistency and simplification.
  275. It exposes more than 30 new functions in comparison with previous version and it improves overall programming experience.
  276. BIG CHANGES:
  277. - New Image generation functions: Gradient, Checked, Noise, Cellular...
  278. - New Mesh generation functions: Cube, Sphere, Cylinder, Torus, Knot...
  279. - New Shaders and Materials systems to support PBR materials
  280. - Custom Android APK build pipeline with simple Makefile
  281. - Complete review of rlgl layer functionality
  282. - Complete review of raymath functionality
  283. detailed changes:
  284. [rlgl] RENAMED: rlglLoadTexture() to rlLoadTexture()
  285. [rlgl] RENAMED: rlglLoadRenderTexture() to rlLoadRenderTexture()
  286. [rlgl] RENAMED: rlglUpdateTexture() to rlUpdateTexture()
  287. [rlgl] RENAMED: rlglGenerateMipmaps() to rlGenerateMipmaps()
  288. [rlgl] RENAMED: rlglReadScreenPixels() to rlReadScreenPixels()
  289. [rlgl] RENAMED: rlglReadTexturePixels() to rlReadTexturePixels()
  290. [rlgl] RENAMED: rlglLoadMesh() to rlLoadMesh()
  291. [rlgl] RENAMED: rlglUpdateMesh() to rlUpdateMesh()
  292. [rlgl] RENAMED: rlglDrawMesh() to rlDrawMesh()
  293. [rlgl] RENAMED: rlglUnloadMesh() to rlUnloadMesh()
  294. [rlgl] RENAMED: rlglUnproject() to rlUnproject()
  295. [rlgl] RENAMED: LoadCompressedTexture() to LoadTextureCompressed()
  296. [rlgl] RENAMED: GetDefaultTexture() to GetTextureDefault()
  297. [rlgl] RENAMED: LoadDefaultShader() to LoadShaderDefault()
  298. [rlgl] RENAMED: LoadDefaultShaderLocations() to SetShaderDefaultLocations()
  299. [rlgl] RENAMED: UnloadDefaultShader() to UnLoadShaderDefault()
  300. [rlgl] ADDED: rlGenMapCubemap(), Generate cubemap texture map from HDR texture
  301. [rlgl] ADDED: rlGenMapIrradiance(), Generate irradiance texture map
  302. [rlgl] ADDED: rlGenMapPrefilter(), Generate prefilter texture map
  303. [rlgl] ADDED: rlGenMapBRDF(), Generate BRDF texture map
  304. [rlgl] ADDED: GetVrDeviceInfo(), Get VR device information for some standard devices
  305. [rlgl] REVIEWED: InitVrSimulator(), to accept device parameters as input
  306. [core] ADDED: SetWindowTitle(), Set title for window (only PLATFORM_DESKTOP)
  307. [core] ADDED: GetExtension(), Get file extension
  308. [shapes] REMOVED: DrawRectangleGradient(), replaced by DrawRectangleGradientV() and DrawRectangleGradientH()
  309. [shapes] ADDED: DrawRectangleGradientV(), Draw a vertical-gradient-filled rectangle
  310. [shapes] ADDED: DrawRectangleGradientH(), Draw a horizontal-gradient-filled rectangle
  311. [shapes] ADDED: DrawRectangleGradientEx(), Draw a gradient-filled rectangle with custom vertex colors
  312. [shapes] ADDED: DrawRectangleT(), Draw rectangle using text character
  313. [textures] ADDED: SaveImageAs(), Save image as PNG file
  314. [textures] ADDED: GenImageGradientV(), Generate image: vertical gradient
  315. [textures] ADDED: GenImageGradientH(), Generate image: horizontal gradient
  316. [textures] ADDED: GenImageGradientRadial(), Generate image: radial gradient
  317. [textures] ADDED: GenImageChecked(), Generate image: checked
  318. [textures] ADDED: GenImageWhiteNoise(), Generate image: white noise
  319. [textures] ADDED: GenImagePerlinNoise(), Generate image: perlin noise
  320. [textures] ADDED: GenImageCellular(), Generate image: cellular algorithm. Bigger tileSize means bigger cells
  321. [textures] ADDED: GenTextureCubemap(), Generate cubemap texture from HDR texture
  322. [textures] ADDED: GenTextureIrradiance(), Generate irradiance texture using cubemap data
  323. [textures] ADDED: GenTexturePrefilter(), Generate prefilter texture using cubemap data
  324. [textures] ADDED: GenTextureBRDF(), Generate BRDF texture using cubemap data
  325. [models] REMOVED: LoadMeshEx(), Mesh struct variables can be directly accessed
  326. [models] REMOVED: UpdateMesh(), very ineficient
  327. [models] REMOVED: LoadHeightmap(), use GenMeshHeightmap() and LoadModelFromMesh()
  328. [models] REMOVED: LoadCubicmap(), use GenMeshCubicmap() and LoadModelFromMesh()
  329. [models] RENAMED: LoadDefaultMaterial() to LoadMaterialDefault()
  330. [models] ADDED: GenMeshPlane(), Generate plane mesh (with subdivisions)
  331. [models] ADDED: GenMeshCube(), Generate cuboid mesh
  332. [models] ADDED: GenMeshSphere(), Generate sphere mesh (standard sphere)
  333. [models] ADDED: GenMeshHemiSphere(), Generate half-sphere mesh (no bottom cap)
  334. [models] ADDED: GenMeshCylinder(), Generate cylinder mesh
  335. [models] ADDED: GenMeshTorus(), Generate torus mesh
  336. [models] ADDED: GenMeshKnot(), Generate trefoil knot mesh
  337. [models] ADDED: GenMeshHeightmap(), Generate heightmap mesh from image data
  338. [models] ADDED: GenMeshCubicmap(), Generate cubes-based map mesh from image data
  339. [raymath] REVIEWED: full Matrix functionality to align with GLM in usage
  340. [raymath] RENAMED: Vector3 functions for consistency: Vector*() renamed to Vector3*()
  341. [build] Integrate Android APK building into examples Makefile
  342. [build] Integrate Android APK building into templates Makefiles
  343. [build] Improved Visual Studio 2015 project, folders, references...
  344. [templates] Reviewed the full pack to support Android building
  345. [examples] Reviewed full collection to adapt to raylib changes
  346. [examples] [textures] ADDED: textures_image_generation
  347. [examples] [models] ADDED: models_mesh_generation
  348. [examples] [models] ADDED: models_material_pbr
  349. [examples] [models] ADDED: models_skybox
  350. [examples] [models] ADDED: models_yaw_pitch_roll
  351. [examples] [others] REVIEWED: rlgl_standalone
  352. [examples] [others] REVIEWED: audio_standalone
  353. [github] Moved raylib webpage to own repo: github.com/raysan5/raylib.com
  354. [games] Reviewed game: Koala Seasons
  355. [*] Updated STB libraries to latest version
  356. [*] Multiple bugs corrected (check github issues)
  357. -----------------------------------------------
  358. Release: raylib 1.7.0 (20 May 2017)
  359. -----------------------------------------------
  360. NOTE:
  361. In this new raylib release, multiple parts of the library have been reviewed for consistency and simplification.
  362. It exposes almost 300 functions, around 30 new functions in comparison with previous version and, again,
  363. it sets a stepping stone towards raylib future.
  364. BIG changes:
  365. - More than 30 new functions added to the library, check list below.
  366. - Support of configuration flags on every raylib module, to customize library build.
  367. - Improved build system for all supported platforms with a unique Makefile to compile sources.
  368. - Complete review of examples and sample games, added new sample material.
  369. - Support automatic GIF recording of current window, just pressing Ctrl+F12
  370. - Improved library consistency and organization in general.
  371. other changes:
  372. [core] Added function: SetWindowIcon(), to setup icon by code
  373. [core] Added function: SetWindowMonitor(), to set current display monitor
  374. [core] Added function: SetWindowMinSize(), to set minimum resize size
  375. [core] Added function: TakeScreenshot(), made public to API (also launched internally with F12)
  376. [core] Added function: GetDirectoryPath(), get directory for a given fileName (with path)
  377. [core] Added function: GetWorkingDirectory(), get current working directory
  378. [core] Added function: ChangeDirectory(), change working directory
  379. [core] Added function: TraceLog(), made public to API
  380. [core] Improved timing system to avoid busy wait loop on frame sync: Wait()
  381. [core] Added support for gamepad on HTML5 platform
  382. [core] Support mouse lock, useful for camera system
  383. [core] Review functions description comments
  384. [rlgl] Removed function: GetStandardShader(), removed internal standard shader
  385. [rlgl] Removed function: CreateLight(), removed internal lighting system
  386. [rlgl] Removed function: DestroyLight(), removed internal lighting system
  387. [rlgl] Removed function: InitVrDevice(), removed VR device render, using simulator
  388. [rlgl] Removed function: CloseVrDevice(), removed VR device render, using simulator
  389. [rlgl] Removed function: IsVrDeviceReady(), removed VR device render, using simulator
  390. [rlgl] Removed function: IsVrSimulator(), removed VR device render, using simulator
  391. [rlgl] Added function: InitVrSimulator(), init VR simulator for selected device
  392. [rlgl] Added function: CloseVrSimulator(), close VR simulator for current device
  393. [rlgl] Added function: IsVrSimulatorReady(), detect if VR device is ready
  394. [rlgl] Added function: BeginVrDrawing(), begin VR simulator stereo rendering
  395. [rlgl] Added function: EndVrDrawing(), end VR simulator stereo rendering
  396. [rlgl] Renamed function: ReadTextFile() to LoadText() and exposed to API
  397. [rlgl] Removed internal lighting system and standard shader, moved to example
  398. [rlgl] Removed Oculus Rift support, moved to oculus_rift example
  399. [rlgl] Removed VR device support and replaced by VR simulator
  400. [shapes] Added function: DrawLineEx(), draw line with QUADS, supports custom line thick
  401. [shapes] Added function: DrawLineBezier(), draw a line using cubic-bezier curves in-out
  402. [shapes] Added function: DrawRectanglePro(), draw a color-filled rectangle with pro parameters
  403. [textures] Removed function: LoadImageFromRES(), redesigning custom RRES fileformat
  404. [textures] Removed function: LoadTextureFromRES(), redesigning custom RRES fileformat
  405. [textures] Removed function: LoadTextureEx(), use instead Image -> LoadImagePro(), LoadImageEx()
  406. [textures] Added function: LoadImagePro()), load image from raw data with parameters
  407. [textures] Review TraceLog() message when image file not found
  408. [text] Renamed function: LoadSpriteFontTTF() to LoadSpriteFontEx(), for consistency
  409. [text] Removed rBMF fileformat support, replaced by .png
  410. [text] Refactor SpriteFont struct (better for rres custom fileformat)
  411. [text] Renamed some variables for consistency
  412. [models] Added function: LoadMesh(), load mesh from file
  413. [models] Added function: LoadMeshEx(), load mesh from vertex data
  414. [models] Added function: UnloadMesh(), unload mesh from memory (RAM and/or VRAM)
  415. [models] Added function: GetCollisionRayMesh(), get collision info between ray and mesh
  416. [models] Added function: GetCollisionRayTriangle(), get collision info between ray and triangle
  417. [models] Added function: GetCollisionRayGround(), get collision info between ray and ground plane
  418. [models] Renamed function: LoadModelEx() to LoadModelFromMesh()
  419. [models] Removed function: DrawLight(), removed internal lighting system
  420. [models] Renamed function: LoadModelEx() to LoadModelFromMesh() for consistency
  421. [models] Removed function: LoadStandardMaterial(), removed internal standard shader
  422. [models] Removed function: LoadModelFromRES(), redesigning custom RRES fileformat
  423. [models] Renamed multiple variables for consistency
  424. [audio] Added function: SetMasterVolume(), define listener volume
  425. [audio] Added function: ResumeSound(), resume a paused sound
  426. [audio] Added function: SetMusicLoopCount(), set number of repeats for a music
  427. [audio] Added function: LoadWaveEx(), load wave from raw audio data
  428. [audio] Added function: WaveCrop(), crop wave audio data
  429. [audio] Added function: WaveFormat(), format audio data
  430. [audio] Removed function: LoadSoundFromRES(), redesigning custom RRES fileformat
  431. [audio] Added support for 32bit audio samples
  432. [audio] Preliminary support for multichannel, limited to mono and stereo
  433. [audio] Make sure buffers are ready for update: UpdateMusicStream()
  434. [utils] Replaced function: GetExtension() by IsFileExtension() and made public to API
  435. [utils] Unified function: TraceLog() between Android and other platforms
  436. [utils] Removed internal function: GetNextPOT(), simplified implementation
  437. [raymath] Added function: QuaternionToEuler(), to work with Euler angles
  438. [raymath] Added function: QuaternionFromEuler(), to work with Euler angles
  439. [raymath] Added multiple Vector2 math functions
  440. [build] Integrate Android source building into Makefile
  441. [example] Added example: shapes_lines_bezier
  442. [example] Added example: text_input_box
  443. [github] Moved gh-pages branch to master/docs
  444. [github] Moved rlua.h and Lua examples to own repo: raylib-lua
  445. [games] Reviewed full games collection
  446. [games] New game added to collection: Koala Seasons
  447. [*] Reviewed and improved examples collection (new assets)
  448. [*] Reorganized library functions, structs, enums
  449. [*] Updated STB libraries to latest version
  450. -----------------------------------------------
  451. Release: raylib 1.6.0 (20 November 2016)
  452. -----------------------------------------------
  453. NOTE:
  454. This new raylib version commemorates raylib 3rd anniversary and represents another complete review of the library.
  455. It includes some interesting new features and is a stepping stone towards raylib future.
  456. HUGE changes:
  457. [rlua] Lua BINDING: Complete raylib Lua binding, ALL raylib functions ported to Lua plus the +60 code examples.
  458. [audio] COMPLETE REDESIGN: Improved music support and also raw audio data processing and playing, +20 new functions added.
  459. [physac] COMPLETE REWRITE: Improved performance, functionality and simplified usage, moved to own repository and added multiple examples!
  460. other changes:
  461. [core] Corrected issue on OSX with HighDPI display
  462. [core] Added flag to allow resizable window
  463. [core] Allow no default font loading
  464. [core] Corrected old issue with mouse buttons on web
  465. [core] Improved gamepad support, unified across platforms
  466. [core] Gamepad id functionality: GetGamepadName(), IsGamepadName()
  467. [core] Gamepad buttons/axis checking functionality:
  468. [core] Reviewed Android key inputs system, unified with desktop
  469. [rlgl] Redesigned lighting shader system
  470. [rlgl] Updated standard shader for better performance
  471. [rlgl] Support alpha on framebuffer: rlglLoadRenderTexture()
  472. [rlgl] Reviewed UpdateVrTracking() to update camera
  473. [rlgl] Added IsVrSimulator() to check for VR simulator
  474. [shapes] Corrected issue on DrawPolyEx()
  475. [textures] Simplified supported image formats support
  476. [textures] Improved text drawing within an image: ImageDrawText()
  477. [textures] Support image alpha mixing: ImageAlphaMask()
  478. [textures] Support textures filtering: SetTextureFilter()
  479. [textures] Support textures wrap modes: SetTextureWrap()
  480. [text] Improved TTF spritefont generation: LoadSpriteFontTTF()
  481. [text] Improved AngelCode fonts support (unordered chars)
  482. [text] Added TraceLog info on image spritefont loading
  483. [text] Improved text measurement: MeasureTextEx()
  484. [models] Improved OBJ loading flexibility
  485. [models] Reviewed functions: DrawLine3D(), DrawCircle3D()
  486. [models] Removed function: ResolveCollisionCubicmap()
  487. [camera] Redesigned camera system and ported to header-only
  488. [camera] Removed function: UpdateCameraPlayer()
  489. [gestures] Redesigned gestures module to header-only
  490. [audio] Simplified Music loading and playing system
  491. [audio] Added trace on audio device closing
  492. [audio] Reviewed Wave struct, improved flexibility
  493. [audio] Support sound data update: UpdateSound()
  494. [audio] Added support for FLAC audio loading/streaming
  495. [raygui] Removed raygui from raylib repo (moved to own repo)
  496. [build] Added OpenAL static library
  497. [build] Added Visual Studio 2015 projects
  498. [build] Support shared/dynamic raylib compilation
  499. [*] Updated LibOVR to SDK version 1.8
  500. [*] Updated games to latest raylib version
  501. [*] Improved examples and added new ones
  502. [*] Improved Android support
  503. -----------------------------------------------
  504. Release: raylib 1.5.0 (18 July 2016)
  505. -----------------------------------------------
  506. NOTE:
  507. Probably this new version is the biggest boost of the library ever, lots of parts of the library have been redesigned,
  508. lots of bugs have been solved and some **AMAZING** new features have been added.
  509. HUGE changes:
  510. [rlgl] OCULUS RIFT CV1: Added support for VR, not oly Oculus Rift CV1 but also stereo rendering simulator (multiplatform).
  511. [rlgl] MATERIALS SYSTEM: Added support for Materials (.mtl) and multiple material properties: diffuse, specular, normal.
  512. [rlgl] LIGHTING SYSTEM: Added support for up to 8 lights of 3 different types: Omni, Directional and Spot.
  513. [physac] REDESIGNED: Improved performance and simplified usage, physic objects now are managed internally in a second thread!
  514. [audio] CHIPTUNES: Added support for module audio music (.xm, .mod) loading and playing. Multiple mixing channels supported.
  515. other changes:
  516. [core] Review Android button inputs
  517. [core] Support Android internal data storage
  518. [core] Renamed WorldToScreen() to GetWorldToScreen()
  519. [core] Removed function SetCustomCursor()
  520. [core] Removed functions BeginDrawingEx(), BeginDrawingPro()
  521. [core] Replaced functions InitDisplay() + InitGraphics() with: InitGraphicsDevice()
  522. [core] Added support for field-of-view Y (fovy) on 3d Camera
  523. [core] Added 2D camera mode functions: Begin2dMode() - End2dMode()
  524. [core] Translate mouse inputs to Android touch/gestures internally
  525. [core] Translate mouse inputs as touch inputs in HTML5
  526. [core] Improved function GetKeyPressed() to support multiple keys (including function keys)
  527. [core] Improved gamepad support, specially for RaspberryPi (including multiple gamepads support)
  528. [rlgl] Support stereo rendering simulation (duplicate draw calls by viewport, optimized)
  529. [rlgl] Added distortion shader (embeded) to support custom VR simulator: shader_distortion.h
  530. [rlgl] Added support for OpenGL 2.1 on desktop
  531. [rlgl] Improved 2D vs 3D drawing system (lines, triangles, quads)
  532. [rlgl] Improved DXT-ETC1 support on HTML5
  533. [rlgl] Review function: rlglUnproject()
  534. [rlgl] Removed function: rlglInitGraphics(), integrated into rlglInit()
  535. [rlgl] Updated Mesh and Shader structs
  536. [rlgl] Simplified internal (default) dynamic buffers
  537. [rlgl] Added support for indexed and dynamic mesh data
  538. [rlgl] Set fixed vertex attribs location points
  539. [rlgl] Improved mesh data loading support
  540. [rlgl] Added standard shader (embeded) to support materials and lighting: shader_standard.h
  541. [rlgl] Added light functions: CreateLight(), DestroyLight()
  542. [rlgl] Added wire mode functions: rlDisableWireMode(), rlEnableWireMode()
  543. [rlgl] Review function consistency, added: rlglLoadMesh(), rlglUpdateMesh(), rlglDrawMesh(), rlglUnloadMesh()
  544. [rlgl] Replaced SetCustomShader() by: BeginShaderMode() - EndShaderMode()
  545. [rlgl] Replaced SetBlendMode() by: BeginBlendMode() - EndBlendMode()
  546. [rlgl] Added functions to customize internal matrices: SetMatrixProjection(), SetMatrixModelview()
  547. [rlgl] Unified internal shaders to only one default shader
  548. [rlgl] Added support for render to texture (RenderTexture2D):
  549. LoadRenderTexture() - UnloadRenderTexture()
  550. BeginTextureMode() - EndTextureMode()
  551. [rlgl] Removed SetShaderMap*() functions
  552. [rlgl] Redesigned default buffers usage functions:
  553. LoadDefaultBuffers() - UnloadDefaultBuffers()
  554. UpdateDefaultBuffers() - DrawDefaultBuffers()
  555. [shapes] Corrected bug on GetCollisionRec()
  556. [textures] Added support for Nearest-Neighbor image scaling
  557. [textures] Added functions to draw text on image: ImageDrawText(), ImageDrawTextEx()
  558. [text] Reorganized internal functions: Added LoadImageFont()
  559. [text] Security check for unsupported BMFonts
  560. [models] Split mesh creation from model loading on heightmap and cubicmap
  561. [models] Updated BoundingBox collision detections
  562. [models] Added color parameter to DrawBoundigBox()
  563. [models] Removed function: DrawQuad()
  564. [models] Removed function: SetModelTexture()
  565. [models] Redesigned DrawPlane() to use RL_TRIANGLES
  566. [models] Redesigned DrawRectangleV() to use RL_TRIANGLES
  567. [models] Redesign to accomodate new materials system: LoadMaterial()
  568. [models] Added material functions: LoadDefaultMaterial(), LoadStandardMaterial()
  569. [models] Added MTL material loading support: LoadMTL()
  570. [models] Added function: DrawLight()
  571. [audio] Renamed SoundIsPlaying() to IsSoundPlaying()
  572. [audio] Renamed MusicIsPlaying() to IsMusicPlaying()
  573. [audio] Support multiple Music streams (indexed)
  574. [audio] Support multiple mixing channels
  575. [gestures] Improved and reviewed gestures system
  576. [raymath] Added QuaternionInvert()
  577. [raymath] Removed function: PrintMatrix()
  578. [raygui] Ported to header-only library (https://github.com/raysan5/raygui)
  579. [shaders] Added depth drawing shader (requires a depth texture)
  580. [shaders] Reviewed included shaders and added comments
  581. [OpenAL Soft] Updated to latest version (1.17.2)
  582. [GLFW3] Updated to latest version (3.2)
  583. [stb] Updated to latest headers versions
  584. [GLAD] Converted to header only library and simplified to only used extensions
  585. [*] Reorganize library folders: external libs moved to src/external folder
  586. [*] Reorganize src folder for Android library
  587. [*] Review external dependencies usage
  588. [*] Improved Linux and OSX build systems
  589. [*] Lots of tweaks and bugs corrected all around
  590. -----------------------------------------------
  591. Release: raylib 1.4.0 (22 February 2016)
  592. -----------------------------------------------
  593. NOTE:
  594. This version supposed another big improvement for raylib, including new modules and new features.
  595. More than 30 new functions have been added to previous raylib version.
  596. Around 8 new examples and +10 new game samples have been added.
  597. BIG changes:
  598. [textures] IMAGE MANIPULATION: Functions to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image.
  599. [text] SPRITEFONT SUPPORT: Added support for AngelCode fonts (.fnt) and TrueType fonts (.ttf).
  600. [gestures] REDESIGN: Gestures system simplified and prepared to process generic touch events, including mouse events (multiplatform).
  601. [physac] NEW MODULE: Basic 2D physics support, use colliders and rigidbodies; apply forces to physic objects.
  602. other changes:
  603. [rlgl] Removed GLEW library dependency, now using GLAD
  604. [rlgl] Implemented alternative to glGetTexImage() on OpenGL ES
  605. [rlgl] Using depth data on batch drawing
  606. [rlgl] Reviewed glReadPixels() function
  607. [core][rlgl] Reviewed raycast system, now 3D picking works
  608. [core] Android: Reviewed Android App cycle, paused if inactive
  609. [shaders] Implemented Blinn-Phong lighting shading model
  610. [textures] Implemented Floyd-Steinberg dithering - ImageDither()
  611. [text] Added line-break support to DrawText()
  612. [text] Added TrueType Fonts support (using stb_truetype)
  613. [models] Implement function: CalculateBoundingBox(Mesh mesh)
  614. [models] Added functions to check Ray collisions
  615. [models] Improve map resolution control on LoadHeightmap()
  616. [camera] Corrected small-glitch on zoom-in with mouse-wheel
  617. [gestures] Implemented SetGesturesEnabled() to enable only some gestures
  618. [gestures] Implemented GetElapsedTime() on Windows system
  619. [gestures] Support mouse gestures for desktop platforms
  620. [raymath] Complete review of the module and converted to header-only
  621. [easings] Added new module for easing animations
  622. [stb] Updated to latest headers versions
  623. [*] Lots of tweaks around
  624. -----------------------------------------------
  625. Release: raylib 1.3.0 (01 September 2015)
  626. -----------------------------------------------
  627. NOTE:
  628. This version supposed a big boost for raylib, new modules have been added with lots of features.
  629. Most of the modules have been completely reviewed to accomodate to the new features.
  630. Over 50 new functions have been added to previous raylib version.
  631. Most of the examples have been redone and +10 new advanced examples have been added.
  632. BIG changes:
  633. [rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
  634. [textures] FORMATS: Support for multiple internal formats, including compressed formats
  635. [camera] NEW MODULE: Set of cameras for 3d view: Free, Orbital, 1st person, 3rd person
  636. [gestures] NEW MODULE: Gestures system for Android and HTML5 platforms
  637. [raygui] NEW MODULE: Set of IMGUI elements for tools development (experimental)
  638. other changes:
  639. [rlgl] Added check for OpenGL supported extensions
  640. [rlgl] Added function SetBlenMode() to select some predefined blending modes
  641. [core] Added support for drop&drag of external files into running program
  642. [core] Added functions ShowCursor(), HideCursor(), IsCursorHidden()
  643. [core] Renamed function SetFlags() to SetConfigFlags()
  644. [shapes] Simplified some functions to improve performance
  645. [textures] Review of Image struct to support multiple data formats
  646. [textures] Added function LoadImageEx()
  647. [textures] Added function LoadImageRaw()
  648. [textures] Added function LoadTextureEx()
  649. [textures] Simplified function parameters LoadTextureFromImage()
  650. [textures] Added function GetImageData()
  651. [textures] Added function GetTextureData()
  652. [textures] Renamed function ConvertToPOT() to ImageConvertToPOT()
  653. [textures] Added function ImageConvertFormat()
  654. [textures] Added function GenTextureMipmaps()
  655. [text] Added support for Latin-1 Extended characters for default font
  656. [text] Redesigned SpriteFont struct, replaced Character struct by Rectangle
  657. [text] Removed function GetFontBaseSize(), use directly spriteFont.size
  658. [models] Review of struct: Model (added shaders support)
  659. [models] Added 3d collision functions (sphere vs sphere vs box vs box)
  660. [models] Added function DrawCubeTexture()
  661. [models] Added function DrawQuad()
  662. [models] Added function DrawRay()
  663. [models] Simplified funtion DrawPlane()
  664. [models] Removed function DrawPlaneEx()
  665. [models] Simplified funtion DrawGizmo()
  666. [models] Removed function DrawGizmoEx()
  667. [models] Added function LoadModelEx()
  668. [models] Review of function LoadCubicMap()
  669. [models] Added function ResolveCollisionCubicmap()
  670. [audio] Decopupled from raylib, now this module can be used as standalone
  671. [audio] Added function UpdateMusicStream()
  672. [raymath] Complete review of the module
  673. [stb] Updated to latest headers versions
  674. [*] Lots of tweaks around
  675. -----------------------------------------------
  676. Release: raylib 1.2.2 (31 December 2014)
  677. -----------------------------------------------
  678. [*] Added support for HTML5 compiling (emscripten, asm.js)
  679. [core] Corrected bug on input handling (keyboard and mouse)
  680. [textures] Renamed function CreateTexture() to LoadTextureFromImage()
  681. [textures] Added function ConvertToPOT()
  682. [rlgl] Added support for color tint on models on GL 3.3+ and ES2
  683. [rlgl] Added support for normals on models
  684. [models] Corrected bug on DrawBillboard()
  685. [models] Corrected bug on DrawHeightmap()
  686. [models] Renamed LoadCubesmap() to LoadCubicmap()
  687. [audio] Added function LoadSoundFromWave()
  688. [makefile] Added support for Linux and OSX compiling
  689. [stb] Updated to latest headers versions
  690. [*] Lots of tweaks around
  691. ---------------------------------------------------------------
  692. Update: raylib 1.2.1 (17 October 2014) (Small Fixes Update)
  693. ---------------------------------------------------------------
  694. [core] Added function SetupFlags() to preconfigure raylib Window
  695. [core] Corrected bug on fullscreen mode
  696. [rlgl] rlglDrawmodel() - Added rotation on Y axis
  697. [text] MeasureTextEx() - Corrected bug on measures for default font
  698. -----------------------------------------------
  699. Release: raylib 1.2 (16 September 2014)
  700. -----------------------------------------------
  701. NOTE:
  702. This version supposed a complete redesign of the [core] module to support Android and Raspberry Pi.
  703. Multiples modules have also been tweaked to accomodate to the new platforms, specially [rlgl]
  704. [core] Added multiple platforms support: Android and Raspberry Pi
  705. [core] InitWindow() - Complete rewrite and split for Android
  706. [core] InitDisplay() - Internal function added to calculate proper display size
  707. [core] InitGraphics() - Internal function where OpenGL graphics are initialized
  708. [core] Complete refactoring of input functions to accomodate to new platforms
  709. [core] Mouse and Keyboard raw data reading functions added for Raspberry Pi
  710. [core] GetTouchX(), GetTouchY() - Added for Android
  711. [core] Added Android callbacks to process inputs and Android activity commands
  712. [rlgl] Adjusted buffers depending on platform
  713. [rlgl] Added security check in case deployed vertex excess buffer size
  714. [rlgl] Adjusted indices type depending on GL version (int or short)
  715. [rlgl] Fallback to VBOs only usage if VAOs not supported on ES2
  716. [rlgl] rlglLoadModel() stores vbo ids on new Model struct
  717. [textures] Added support for PKM files (ETC1, ETC2 compression support)
  718. [shapes] DrawRectangleV() - Modified, depending on OGL version uses TRIANGLES or QUADS
  719. [text] LoadSpriteFont() - Modified to use LoadImage()
  720. [models] Minor changes on models loading to accomodate to new Model struct
  721. [audio] PauseMusicStream(), ResumeMusicStream() - Added
  722. [audio] Reduced music buffer size to avoid stalls on Raspberry Pi
  723. [src] Added makefile for Windows and RPI
  724. [src] Added resources file (raylib icon and executable info)
  725. [examples] Added makefile for Windows and RPI
  726. [examples] Renamed and merged with test examples for coherence with module names
  727. [templates] Added multiple templates to be use as a base-code for games
  728. -----------------------------------------------
  729. Release: raylib 1.1.1 (22 July 2014)
  730. -----------------------------------------------
  731. [core] ShowLogo() - To enable raylib logo animation at startup
  732. [core] Corrected bug with window resizing
  733. [rlgl] Redefined colors arrays to use byte instead of float
  734. [rlgl] Removed double buffer system (no performance improvement)
  735. [rlgl] rlglDraw() - Reorganized buffers drawing order
  736. [rlgl] Corrected bug on screen resizing
  737. [shapes] DrawRectangle() - Use QUADS instead of TRIANGLES
  738. [models] DrawSphereWires() - Corrected some issues
  739. [models] LoadOBJ() - Redesigned to support multiple meshes
  740. [models] LoadCubesMap() - Loading a map as cubes (by pixel color)
  741. [textures] Added security check if file doesn't exist
  742. [text] Corrected bug on SpriteFont loading
  743. [examples] Corrected some 3d examples
  744. [test] Added cubesmap loading test
  745. -----------------------------------------------
  746. Release: raylib 1.1.0 (19 April 2014)
  747. -----------------------------------------------
  748. NOTE:
  749. This version supposed a complete internal redesign of the library to support OpenGL 3.3+ and OpenGL ES 2.0.
  750. New module [rlgl] has been added to 'translate' immediate mode style functions (i.e. rlVertex3f()) to GL 1.1, 3.3+ or ES2.
  751. Another new module [raymath] has also been added with lot of useful 3D math vector-matrix-quaternion functions.
  752. [rlgl] New module, abstracts OpenGL rendering (multiple versions support)
  753. [raymath] New module, useful 3D math vector-matrix-quaternion functions
  754. [core] Adapt all OpenGL code (initialization, drawing) to use [rlgl]
  755. [shapes] Rewrite all shapes drawing functions to use [rlgl]
  756. [textures] Adapt texture GPU loading to use [rlgl]
  757. [textures] Added support for DDS images (compressed and uncompressed)
  758. [textures] CreateTexture() - Redesigned to add mipmap automatic generation
  759. [textures] DrawTexturePro() - Redesigned and corrected bugs
  760. [models] Rewrite all 3d-shapes drawing functions to use [rlgl]
  761. [models] Adapt model loading and drawing to use [rlgl]
  762. [models] Model struct updated to include texture id
  763. [models] SetModelTexture() - Added, link a texture to a model
  764. [models] DrawModelEx() - Redesigned with extended parameters
  765. [audio] Added music streaming support (OGG files)
  766. [audio] Added support for OGG files as Sound
  767. [audio] PlayMusicStream() - Added, open a new music stream and play it
  768. [audio] StopMusicStream() - Added, stop music stream playing and close stream
  769. [audio] PauseMusicStream() - Added, pause music stream playing
  770. [audio] MusicIsPlaying() - Added, to check if music is playing
  771. [audio] SetMusicVolume() - Added, set volume for music
  772. [audio] GetMusicTimeLength() - Added, get current music time length (in seconds)
  773. [audio] GetMusicTimePlayed() - Added, get current music time played (in seconds)
  774. [utils] Added log tracing functionality - TraceLog(), TraceLogOpen(), TraceLogClose()
  775. [*] Log tracing messages all around the code
  776. -----------------------------------------------
  777. Release: raylib 1.0.6 (16 March 2014)
  778. -----------------------------------------------
  779. [core] Removed unused lighting-system code
  780. [core] Removed SetPerspective() function, calculated directly
  781. [core] Unload and reload default font on fullscreen toggle
  782. [core] Corrected bug gamepad buttons checking if no gamepad available
  783. [texture] DrawTextureV() - Added, to draw using Vector2 for position
  784. [texture] LoadTexture() - Redesigned, now uses LoadImage() + CreateTexture()
  785. [text] FormatText() - Corrected memory leak bug
  786. [models] Added Matrix struct and related functions
  787. [models] DrawBillboard() - Reviewed, now it works!
  788. [models] DrawBillboardRec() - Reviewed, now it works!
  789. [tests] Added folder with multiple tests for new functions
  790. -----------------------------------------------
  791. Update: raylib 1.0.5 (28 January 2014)
  792. -----------------------------------------------
  793. [audio] LoadSound() - Corrected a bug, WAV file was not closed!
  794. [core] GetMouseWheelMove() - Added, check mouse wheel Y movement
  795. [texture] CreateTexture2D() renamed to CreateTexture()
  796. [models] LoadHeightmap() - Added, Heightmap can be loaded as a Model
  797. [tool] rREM updated, now supports (partially) drag and drop of files
  798. -----------------------------------------------
  799. Release: raylib 1.0.4 (23 January 2014)
  800. -----------------------------------------------
  801. [tool] Published a first alpha version of rREM tool (raylib Resource Embedder)
  802. [core] GetRandomValue() - Bug corrected, now works right
  803. [core] Fade() - Added, fades a color to an alpha percentadge
  804. [core] WriteBitmap() - Moved to new module: utils.c, not used anymore
  805. [core] TakeScreenshot() - Now uses WritePNG() (utils.c)
  806. [utils] New module created with utility functions
  807. [utils] WritePNG() - Write a PNG file (used by TakeScreenshot() on core)
  808. [utils] DecompressData() - Added, used for rRES resource data decompresion
  809. [textures] LoadImageFromRES() - Added, load an image from a rRES resource file
  810. [textures] LoadTextureFromRES() - Added, load a texture from a rRES resource file
  811. [audio] LoadSoundFromRES() - Added, load a sound from a rRES resource file
  812. [audio] IsPlaying() - Added, check if a sound is currently playing
  813. [audio] SetVolume() - Added, set the volume for a sound
  814. [audio] SetPitch() - Added, set the pitch for a sound
  815. [examples] ex06a_color_select completed
  816. [examples] ex06b_logo_anim completed
  817. [examples] ex06c_font select completed
  818. -----------------------------------------------
  819. Release: raylib 1.0.3 (19 December 2013)
  820. -----------------------------------------------
  821. [fonts] Added 8 rBMF free fonts to be used on projects!
  822. [text] LoadSpriteFont() - Now supports rBMF file loading (raylib Bitmap Font)
  823. [examples] ex05a_sprite_fonts completed
  824. [examples] ex05b_rbmf_fonts completed
  825. [core] InitWindowEx() - InitWindow with extended parameters, resizing option and custom cursor!
  826. [core] GetRandomValue() - Added, returns a random value within a range (int)
  827. [core] SetExitKey() - Added, sets a key to exit program (default is ESC)
  828. [core] Custom cursor not drawn when mouse out of screen
  829. [shapes] CheckCollisionPointRec() - Added, check collision between point and rectangle
  830. [shapes] CheckCollisionPointCircle() - Added, check collision between point and circle
  831. [shapes] CheckCollisionPointTriangle() - Added, check collision between point and triangle
  832. [shapes] DrawPoly() - Added, draw regular polygons of n sides, rotation can be defined!
  833. -----------------------------------------------
  834. Release: raylib 1.0.2 (1 December 2013)
  835. -----------------------------------------------
  836. [text] GetDefaultFont() - Added, get default SpriteFont to be used on DrawTextEx()
  837. [shapes] CheckCollisionRecs() - Added, check collision between rectangles
  838. [shapes] CheckCollisionCircles() - Added, check collision between circles
  839. [shapes] CheckCollisionCircleRec() - Added, check collision circle-rectangle
  840. [shapes] GetCollisionRec() - Added, get collision rectangle
  841. [textures] CreateTexture2D() - Added, create Texture2D from Image data
  842. [audio] Fixed WAV loading function, now audio works!
  843. -----------------------------------------------
  844. Update: raylib 1.0.1 (28 November 2013)
  845. -----------------------------------------------
  846. [text] DrawText() - Removed spacing parameter
  847. [text] MeasureText() - Removed spacing parameter
  848. [text] DrawFps() - Renamed to DrawFPS() for coherence with similar function
  849. [core] IsKeyPressed() - Change functionality, check if key pressed once
  850. [core] IsKeyDown() - Added, check if key is being pressed
  851. [core] IsKeyReleased() - Change functionality, check if key released once
  852. [core] IsKeyUp() - Added, check if key is being NOT pressed
  853. [core] IsMouseButtonDown() - Added, check if mouse button is being pressed
  854. [core] IsMouseButtonPressed() - Change functionality, check if mouse button pressed once
  855. [core] IsMouseButtonUp() - Added, check if mouse button is NOT being pressed
  856. [core] IsMouseButtonReleased() - Change functionality, check if mouse button released once
  857. [textures] DrawTexturePro() - Added, texture drawing with 'pro' parameters
  858. [examples] Function changes applied to ALL examples
  859. -----------------------------------------------
  860. Release: raylib 1.0.0 (18 November 2013)
  861. -----------------------------------------------
  862. * Initial version
  863. * 6 Modules provided:
  864. - core: basic window/context creation functions, input management, timing functions
  865. - shapes: basic shapes drawing functions
  866. - textures: image data loading and conversion to OpenGL textures
  867. - text: text drawing, sprite fonts loading, default font loading
  868. - models: basic 3d shapes drawing, OBJ models loading and drawing
  869. - audio: audio device initialization, WAV files loading and playing