Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

637 wiersze
36 KiB

7 lat temu
7 lat temu
7 lat temu
7 lat temu
7 lat temu
7 lat temu
7 lat temu
7 lat temu
7 lat temu
7 lat temu
11 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
8 lat temu
11 lat temu
9 lat temu
9 lat temu
9 lat temu
9 lat temu
9 lat temu
10 lat temu
10 lat temu
10 lat temu
10 lat temu
11 lat temu
11 lat temu
11 lat temu
11 lat temu
11 lat temu
11 lat temu
11 lat temu
  1. changelog
  2. ---------
  3. Current Release: raylib 1.8.0 (Oct 2017)
  4. -----------------------------------------------
  5. Release: raylib 1.8.0 (Oct 2017)
  6. -----------------------------------------------
  7. NOTE:
  8. In this release, multiple parts of the library have been reviewed (again) for consistency and simplification.
  9. It exposes more than 30 new functions in comparison with previous version and it improves overall programming experience.
  10. BIG CHANGES:
  11. - New Image generation functions: Gradient, Checked, Noise, Cellular...
  12. - New Mesh generation functions: Cube, Sphere, Cylinder, Torus, Knot...
  13. - New Shaders and Materials systems to support PBR materials
  14. - Custom Android APK build pipeline with simple Makefile
  15. - Complete review of rlgl layer functionality
  16. - Complete review of raymath functionality
  17. detailed changes:
  18. [rlgl] RENAMED: rlglLoadTexture() to rlLoadTexture()
  19. [rlgl] RENAMED: rlglLoadRenderTexture() to rlLoadRenderTexture()
  20. [rlgl] RENAMED: rlglUpdateTexture() to rlUpdateTexture()
  21. [rlgl] RENAMED: rlglGenerateMipmaps() to rlGenerateMipmaps()
  22. [rlgl] RENAMED: rlglReadScreenPixels() to rlReadScreenPixels()
  23. [rlgl] RENAMED: rlglReadTexturePixels() to rlReadTexturePixels()
  24. [rlgl] RENAMED: rlglLoadMesh() to rlLoadMesh()
  25. [rlgl] RENAMED: rlglUpdateMesh() to rlUpdateMesh()
  26. [rlgl] RENAMED: rlglDrawMesh() to rlDrawMesh()
  27. [rlgl] RENAMED: rlglUnloadMesh() to rlUnloadMesh()
  28. [rlgl] RENAMED: rlglUnproject() to rlUnproject()
  29. [rlgl] RENAMED: LoadCompressedTexture() to LoadTextureCompressed()
  30. [rlgl] RENAMED: GetDefaultTexture() to GetTextureDefault()
  31. [rlgl] RENAMED: LoadDefaultShader() to LoadShaderDefault()
  32. [rlgl] RENAMED: LoadDefaultShaderLocations() to SetShaderDefaultLocations()
  33. [rlgl] RENAMED: UnloadDefaultShader() to UnLoadShaderDefault()
  34. [rlgl] ADDED: rlGenMapCubemap(), Generate cubemap texture map from HDR texture
  35. [rlgl] ADDED: rlGenMapIrradiance(), Generate irradiance texture map
  36. [rlgl] ADDED: rlGenMapPrefilter(), Generate prefilter texture map
  37. [rlgl] ADDED: rlGenMapBRDF(), Generate BRDF texture map
  38. [core] ADDED: SetWindowTitle(), Set title for window (only PLATFORM_DESKTOP)
  39. [core] ADDED: GetExtension(), Get file extension
  40. [shapes] REMOVED: DrawRectangleGradient(), replaced by DrawRectangleGradientV() and DrawRectangleGradientH()
  41. [shapes] ADDED: DrawRectangleGradientV(), Draw a vertical-gradient-filled rectangle
  42. [shapes] ADDED: DrawRectangleGradientH(), Draw a horizontal-gradient-filled rectangle
  43. [shapes] ADDED: DrawRectangleGradientEx(), Draw a gradient-filled rectangle with custom vertex colors
  44. [shapes] ADDED: DrawRectangleT(), Draw rectangle using text character
  45. [textures] ADDED: SaveImageAs(), Save image as PNG file
  46. [textures] ADDED: GenImageGradientV(), Generate image: vertical gradient
  47. [textures] ADDED: GenImageGradientH(), Generate image: horizontal gradient
  48. [textures] ADDED: GenImageGradientRadial(), Generate image: radial gradient
  49. [textures] ADDED: GenImageChecked(), Generate image: checked
  50. [textures] ADDED: GenImageWhiteNoise(), Generate image: white noise
  51. [textures] ADDED: GenImagePerlinNoise(), Generate image: perlin noise
  52. [textures] ADDED: GenImageCellular(), Generate image: cellular algorithm. Bigger tileSize means bigger cells
  53. [textures] ADDED: GenTextureCubemap(), Generate cubemap texture from HDR texture
  54. [textures] ADDED: GenTextureIrradiance(), Generate irradiance texture using cubemap data
  55. [textures] ADDED: GenTexturePrefilter(), Generate prefilter texture using cubemap data
  56. [textures] ADDED: GenTextureBRDF(), Generate BRDF texture using cubemap data
  57. [models] REMOVED: LoadMeshEx(), Mesh struct variables can be directly accessed
  58. [models] REMOVED: UpdateMesh(), very ineficient
  59. [models] REMOVED: LoadHeightmap(), use GenMeshHeightmap() and LoadModelFromMesh()
  60. [models] REMOVED: LoadCubicmap(), use GenMeshCubicmap() and LoadModelFromMesh()
  61. [models] RENAMED: LoadDefaultMaterial() to LoadMaterialDefault()
  62. [models] ADDED: GenMeshPlane(), Generate plane mesh (with subdivisions)
  63. [models] ADDED: GenMeshCube(), Generate cuboid mesh
  64. [models] ADDED: GenMeshSphere(), Generate sphere mesh (standard sphere)
  65. [models] ADDED: GenMeshHemiSphere(), Generate half-sphere mesh (no bottom cap)
  66. [models] ADDED: GenMeshCylinder(), Generate cylinder mesh
  67. [models] ADDED: GenMeshTorus(), Generate torus mesh
  68. [models] ADDED: GenMeshKnot(), Generate trefoil knot mesh
  69. [models] ADDED: GenMeshHeightmap(), Generate heightmap mesh from image data
  70. [models] ADDED: GenMeshCubicmap(), Generate cubes-based map mesh from image data
  71. [raymath] REVIEW: full Matrix functionality to align with GLM in usage
  72. [raymath] RENAME: Vector3 functions for consistency: Vector*() renamed to Vector3*()
  73. [build] Integrate Android APK building into examples Makefile
  74. [build] Integrate Android APK building into templates Makefiles
  75. [build] Improved Visual Studio 2015 project, folders, references...
  76. [examples] Reviewed full collection to adapt to raylib changes
  77. [examples] [textures] ADDED: textures_image_generation
  78. [examples] [models] ADDED: models_mesh_generation
  79. [examples] [models] ADDED: models_material_pbr
  80. [examples] [models] ADDED: models_skybox
  81. [examples] [models] ADDED: models_yaw_pitch_roll
  82. [examples] [others] REVIEW: rlgl_standalone
  83. [examples] [others] REVIEW: audio_standalone
  84. [github] Moved raylib webpage to own repo: github.com/raysan5/raylib.com
  85. [games] Reviewed game: Koala Seasons
  86. [*] Updated STB libraries to latest version
  87. [*] Multiple bugs corrected (check github issues)
  88. -----------------------------------------------
  89. Release: raylib 1.7.0 (20 May 2017)
  90. -----------------------------------------------
  91. NOTE:
  92. In this new raylib release, multiple parts of the library have been reviewed for consistency and simplification.
  93. It exposes almost 300 functions, around 30 new functions in comparison with previous version and, again,
  94. it sets a stepping stone towards raylib future.
  95. BIG changes:
  96. - More than 30 new functions added to the library, check list below.
  97. - Support of configuration flags on every raylib module, to customize library build.
  98. - Improved build system for all supported platforms with a unique Makefile to compile sources.
  99. - Complete review of examples and sample games, added new sample material.
  100. - Support automatic GIF recording of current window, just pressing Ctrl+F12
  101. - Improved library consistency and organization in general.
  102. other changes:
  103. [core] Added function: SetWindowIcon(), to setup icon by code
  104. [core] Added function: SetWindowMonitor(), to set current display monitor
  105. [core] Added function: SetWindowMinSize(), to set minimum resize size
  106. [core] Added function: TakeScreenshot(), made public to API (also launched internally with F12)
  107. [core] Added function: GetDirectoryPath(), get directory for a given fileName (with path)
  108. [core] Added function: GetWorkingDirectory(), get current working directory
  109. [core] Added function: ChangeDirectory(), change working directory
  110. [core] Added function: TraceLog(), made public to API
  111. [core] Improved timming system to avoid busy wait loop on frame sync: Wait()
  112. [core] Added support for gamepad on HTML5 platform
  113. [core] Support mouse lock, useful for camera system
  114. [core] Review functions description comments
  115. [rlgl] Removed function: GetStandardShader(), removed internal standard shader
  116. [rlgl] Removed function: CreateLight(), removed internal lighting system
  117. [rlgl] Removed function: DestroyLight(), removed internal lighting system
  118. [rlgl] Removed function: InitVrDevice(), removed VR device render, using simulator
  119. [rlgl] Removed function: CloseVrDevice(), removed VR device render, using simulator
  120. [rlgl] Removed function: IsVrDeviceReady(), removed VR device render, using simulator
  121. [rlgl] Removed function: IsVrSimulator(), removed VR device render, using simulator
  122. [rlgl] Added function: InitVrSimulator(), init VR simulator for selected device
  123. [rlgl] Added function: CloseVrSimulator(), close VR simulator for current device
  124. [rlgl] Added function: IsVrSimulatorReady(), detect if VR device is ready
  125. [rlgl] Added function: BeginVrDrawing(), begin VR simulator stereo rendering
  126. [rlgl] Added function: EndVrDrawing(), end VR simulator stereo rendering
  127. [rlgl] Renamed function: ReadTextFile() to LoadText() and exposed to API
  128. [rlgl] Removed internal lighting system and standard shader, moved to example
  129. [rlgl] Removed Oculus Rift support, moved to oculus_rift example
  130. [rlgl] Removed VR device support and replaced by VR simulator
  131. [shapes] Added function: DrawLineEx(), draw line with QUADS, supports custom line thick
  132. [shapes] Added function: DrawLineBezier(), draw a line using cubic-bezier curves in-out
  133. [shapes] Added function: DrawRectanglePro(), draw a color-filled rectangle with pro parameters
  134. [textures] Removed function: LoadImageFromRES(), redesigning custom RRES fileformat
  135. [textures] Removed function: LoadTextureFromRES(), redesigning custom RRES fileformat
  136. [textures] Removed function: LoadTextureEx(), use instead Image -> LoadImagePro(), LoadImageEx()
  137. [textures] Added function: LoadImagePro()), load image from raw data with parameters
  138. [textures] Review TraceLog() message when image file not found
  139. [text] Renamed function: LoadSpriteFontTTF() to LoadSpriteFontEx(), for consistency
  140. [text] Removed rBMF fileformat support, replaced by .png
  141. [text] Refactor SpriteFont struct (better for rres custom fileformat)
  142. [text] Renamed some variables for consistency
  143. [models] Added function: LoadMesh(), load mesh from file
  144. [models] Added function: LoadMeshEx(), load mesh from vertex data
  145. [models] Added function: UnloadMesh(), unload mesh from memory (RAM and/or VRAM)
  146. [models] Added function: GetCollisionRayMesh(), get collision info between ray and mesh
  147. [models] Added function: GetCollisionRayTriangle(), get collision info between ray and triangle
  148. [models] Added function: GetCollisionRayGround(), get collision info between ray and ground plane
  149. [models] Renamed function: LoadModelEx() to LoadModelFromMesh()
  150. [models] Removed function: DrawLight(), removed internal lighting system
  151. [models] Renamed function: LoadModelEx() to LoadModelFromMesh() for consistency
  152. [models] Removed function: LoadStandardMaterial(), removed internal standard shader
  153. [models] Removed function: LoadModelFromRES(), redesigning custom RRES fileformat
  154. [models] Renamed multiple variables for consistency
  155. [audio] Added function: SetMasterVolume(), define listener volume
  156. [audio] Added function: ResumeSound(), resume a paused sound
  157. [audio] Added function: SetMusicLoopCount(), set number of repeats for a music
  158. [audio] Added function: LoadWaveEx(), load wave from raw audio data
  159. [audio] Added function: WaveCrop(), crop wave audio data
  160. [audio] Added function: WaveFormat(), format audio data
  161. [audio] Removed function: LoadSoundFromRES(), redesigning custom RRES fileformat
  162. [audio] Added support for 32bit audio samples
  163. [audio] Preliminary support for multichannel, limited to mono and stereo
  164. [audio] Make sure buffers are ready for update: UpdateMusicStream()
  165. [utils] Replaced function: GetExtension() by IsFileExtension() and made public to API
  166. [utils] Unified function: TraceLog() between Android and other platforms
  167. [utils] Removed internal function: GetNextPOT(), simplified implementation
  168. [raymath] Added function: QuaternionToEuler(), to work with Euler angles
  169. [raymath] Added function: QuaternionFromEuler(), to work with Euler angles
  170. [raymath] Added multiple Vector2 math functions
  171. [build] Integrate Android source building into Makefile
  172. [example] Added example: shapes_lines_bezier
  173. [example] Added example: text_input_box
  174. [github] Moved gh-pages branch to master/docs
  175. [github] Moved rlua.h and Lua examples to own repo: raylib-lua
  176. [games] Reviewed full games collection
  177. [games] New game added to collection: Koala Seasons
  178. [*] Reviewed and improved examples collection (new assets)
  179. [*] Reorganized library functions, structs, enums
  180. [*] Updated STB libraries to latest version
  181. -----------------------------------------------
  182. Release: raylib 1.6.0 (20 November 2016)
  183. -----------------------------------------------
  184. NOTE:
  185. This new raylib version commemorates raylib 3rd anniversary and represents another complete review of the library.
  186. It includes some interesting new features and is a stepping stone towards raylib future.
  187. HUGE changes:
  188. [rlua] Lua BINDING: Complete raylib Lua binding, ALL raylib functions ported to Lua plus the +60 code examples.
  189. [audio] COMPLETE REDESIGN: Improved music support and also raw audio data processing and playing, +20 new functions added.
  190. [physac] COMPLETE REWRITE: Improved performance, functionality and simplified usage, moved to own repository and added multiple examples!
  191. other changes:
  192. [core] Corrected issue on OSX with HighDPI display
  193. [core] Added flag to allow resizable window
  194. [core] Allow no default font loading
  195. [core] Corrected old issue with mouse buttons on web
  196. [core] Improved gamepad support, unified across platforms
  197. [core] Gamepad id functionality: GetGamepadName(), IsGamepadName()
  198. [core] Gamepad buttons/axis checking functionality:
  199. [core] Reviewed Android key inputs system, unified with desktop
  200. [rlgl] Redesigned lighting shader system
  201. [rlgl] Updated standard shader for better performance
  202. [rlgl] Support alpha on framebuffer: rlglLoadRenderTexture()
  203. [rlgl] Reviewed UpdateVrTracking() to update camera
  204. [rlgl] Added IsVrSimulator() to check for VR simulator
  205. [shapes] Corrected issue on DrawPolyEx()
  206. [textures] Simplified supported image formats support
  207. [textures] Improved text drawing within an image: ImageDrawText()
  208. [textures] Support image alpha mixing: ImageAlphaMask()
  209. [textures] Support textures filtering: SetTextureFilter()
  210. [textures] Support textures wrap modes: SetTextureWrap()
  211. [text] Improved TTF spritefont generation: LoadSpriteFontTTF()
  212. [text] Improved AngelCode fonts support (unordered chars)
  213. [text] Added TraceLog info on image spritefont loading
  214. [text] Improved text measurement: MeasureTextEx()
  215. [models] Improved OBJ loading flexibility
  216. [models] Reviewed functions: DrawLine3D(), DrawCircle3D()
  217. [models] Removed function: ResolveCollisionCubicmap()
  218. [camera] Redesigned camera system and ported to header-only
  219. [camera] Removed function: UpdateCameraPlayer()
  220. [gestures] Redesigned gestures module to header-only
  221. [audio] Simplified Music loading and playing system
  222. [audio] Added trace on audio device closing
  223. [audio] Reviewed Wave struct, improved flexibility
  224. [audio] Support sound data update: UpdateSound()
  225. [audio] Added support for FLAC audio loading/streaming
  226. [raygui] Removed raygui from raylib repo (moved to own repo)
  227. [build] Added OpenAL static library
  228. [build] Added Visual Studio 2015 projects
  229. [build] Support shared/dynamic raylib compilation
  230. [*] Updated LibOVR to SDK version 1.8
  231. [*] Updated games to latest raylib version
  232. [*] Improved examples and added new ones
  233. [*] Improved Android support
  234. -----------------------------------------------
  235. Release: raylib 1.5.0 (18 July 2016)
  236. -----------------------------------------------
  237. NOTE:
  238. Probably this new version is the biggest boost of the library ever, lots of parts of the library have been redesigned,
  239. lots of bugs have been solved and some **AMAZING** new features have been added.
  240. HUGE changes:
  241. [rlgl] OCULUS RIFT CV1: Added support for VR, not oly Oculus Rift CV1 but also stereo rendering simulator (multiplatform).
  242. [rlgl] MATERIALS SYSTEM: Added support for Materials (.mtl) and multiple material properties: diffuse, specular, normal.
  243. [rlgl] LIGHTING SYSTEM: Added support for up to 8 lights of 3 different types: Omni, Directional and Spot.
  244. [physac] REDESIGNED: Improved performance and simplified usage, physic objects now are managed internally in a second thread!
  245. [audio] CHIPTUNES: Added support for module audio music (.xm, .mod) loading and playing. Multiple mixing channels supported.
  246. other changes:
  247. [core] Review Android button inputs
  248. [core] Support Android internal data storage
  249. [core] Renamed WorldToScreen() to GetWorldToScreen()
  250. [core] Removed function SetCustomCursor()
  251. [core] Removed functions BeginDrawingEx(), BeginDrawingPro()
  252. [core] Replaced functions InitDisplay() + InitGraphics() with: InitGraphicsDevice()
  253. [core] Added support for field-of-view Y (fovy) on 3d Camera
  254. [core] Added 2D camera mode functions: Begin2dMode() - End2dMode()
  255. [core] Translate mouse inputs to Android touch/gestures internally
  256. [core] Translate mouse inputs as touch inputs in HTML5
  257. [core] Improved function GetKeyPressed() to support multiple keys (including function keys)
  258. [core] Improved gamepad support, specially for RaspberryPi (including multiple gamepads support)
  259. [rlgl] Support stereo rendering simulation (duplicate draw calls by viewport, optimized)
  260. [rlgl] Added distortion shader (embeded) to support custom VR simulator: shader_distortion.h
  261. [rlgl] Added support for OpenGL 2.1 on desktop
  262. [rlgl] Improved 2D vs 3D drawing system (lines, triangles, quads)
  263. [rlgl] Improved DXT-ETC1 support on HTML5
  264. [rlgl] Review function: rlglUnproject()
  265. [rlgl] Removed function: rlglInitGraphics(), integrated into rlglInit()
  266. [rlgl] Updated Mesh and Shader structs
  267. [rlgl] Simplified internal (default) dynamic buffers
  268. [rlgl] Added support for indexed and dynamic mesh data
  269. [rlgl] Set fixed vertex attribs location points
  270. [rlgl] Improved mesh data loading support
  271. [rlgl] Added standard shader (embeded) to support materials and lighting: shader_standard.h
  272. [rlgl] Added light functions: CreateLight(), DestroyLight()
  273. [rlgl] Added wire mode functions: rlDisableWireMode(), rlEnableWireMode()
  274. [rlgl] Review function consistency, added: rlglLoadMesh(), rlglUpdateMesh(), rlglDrawMesh(), rlglUnloadMesh()
  275. [rlgl] Replaced SetCustomShader() by: BeginShaderMode() - EndShaderMode()
  276. [rlgl] Replaced SetBlendMode() by: BeginBlendMode() - EndBlendMode()
  277. [rlgl] Added functions to customize internal matrices: SetMatrixProjection(), SetMatrixModelview()
  278. [rlgl] Unified internal shaders to only one default shader
  279. [rlgl] Added support for render to texture (RenderTexture2D):
  280. LoadRenderTexture() - UnloadRenderTexture()
  281. BeginTextureMode() - EndTextureMode()
  282. [rlgl] Removed SetShaderMap*() functions
  283. [rlgl] Redesigned default buffers usage functions:
  284. LoadDefaultBuffers() - UnloadDefaultBuffers()
  285. UpdateDefaultBuffers() - DrawDefaultBuffers()
  286. [shapes] Corrected bug on GetCollisionRec()
  287. [textures] Added support for Nearest-Neighbor image scaling
  288. [textures] Added functions to draw text on image: ImageDrawText(), ImageDrawTextEx()
  289. [text] Reorganized internal functions: Added LoadImageFont()
  290. [text] Security check for unsupported BMFonts
  291. [models] Split mesh creation from model loading on heightmap and cubicmap
  292. [models] Updated BoundingBox collision detections
  293. [models] Added color parameter to DrawBoundigBox()
  294. [models] Removed function: DrawQuad()
  295. [models] Removed function: SetModelTexture()
  296. [models] Redesigned DrawPlane() to use RL_TRIANGLES
  297. [models] Redesigned DrawRectangleV() to use RL_TRIANGLES
  298. [models] Redesign to accomodate new materials system: LoadMaterial()
  299. [models] Added material functions: LoadDefaultMaterial(), LoadStandardMaterial()
  300. [models] Added MTL material loading support: LoadMTL()
  301. [models] Added function: DrawLight()
  302. [audio] Renamed SoundIsPlaying() to IsSoundPlaying()
  303. [audio] Renamed MusicIsPlaying() to IsMusicPlaying()
  304. [audio] Support multiple Music streams (indexed)
  305. [audio] Support multiple mixing channels
  306. [gestures] Improved and reviewed gestures system
  307. [raymath] Added QuaternionInvert()
  308. [raymath] Removed function: PrintMatrix()
  309. [raygui] Ported to header-only library (https://github.com/raysan5/raygui)
  310. [shaders] Added depth drawing shader (requires a depth texture)
  311. [shaders] Reviewed included shaders and added comments
  312. [OpenAL Soft] Updated to latest version (1.17.2)
  313. [GLFW3] Updated to latest version (3.2)
  314. [stb] Updated to latest headers versions
  315. [GLAD] Converted to header only library and simplified to only used extensions
  316. [*] Reorganize library folders: external libs moved to src/external folder
  317. [*] Reorganize src folder for Android library
  318. [*] Review external dependencies usage
  319. [*] Improved Linux and OSX build systems
  320. [*] Lots of tweaks and bugs corrected all around
  321. -----------------------------------------------
  322. Release: raylib 1.4.0 (22 February 2016)
  323. -----------------------------------------------
  324. NOTE:
  325. This version supposed another big improvement for raylib, including new modules and new features.
  326. More than 30 new functions have been added to previous raylib version.
  327. Around 8 new examples and +10 new game samples have been added.
  328. BIG changes:
  329. [textures] IMAGE MANIPULATION: Functions to crop, resize, colorize, flip, dither and even draw image-to-image or text-to-image.
  330. [text] SPRITEFONT SUPPORT: Added support for AngelCode fonts (.fnt) and TrueType fonts (.ttf).
  331. [gestures] REDESIGN: Gestures system simplified and prepared to process generic touch events, including mouse events (multiplatform).
  332. [physac] NEW MODULE: Basic 2D physics support, use colliders and rigidbodies; apply forces to physic objects.
  333. other changes:
  334. [rlgl] Removed GLEW library dependency, now using GLAD
  335. [rlgl] Implemented alternative to glGetTexImage() on OpenGL ES
  336. [rlgl] Using depth data on batch drawing
  337. [rlgl] Reviewed glReadPixels() function
  338. [core][rlgl] Reviewed raycast system, now 3D picking works
  339. [core] Android: Reviewed Android App cycle, paused if inactive
  340. [shaders] Implemented Blinn-Phong lighting shading model
  341. [textures] Implemented Floyd-Steinberg dithering - ImageDither()
  342. [text] Added line-break support to DrawText()
  343. [text] Added TrueType Fonts support (using stb_truetype)
  344. [models] Implement function: CalculateBoundingBox(Mesh mesh)
  345. [models] Added functions to check Ray collisions
  346. [models] Improve map resolution control on LoadHeightmap()
  347. [camera] Corrected small-glitch on zoom-in with mouse-wheel
  348. [gestures] Implemented SetGesturesEnabled() to enable only some gestures
  349. [gestures] Implemented GetElapsedTime() on Windows system
  350. [gestures] Support mouse gestures for desktop platforms
  351. [raymath] Complete review of the module and converted to header-only
  352. [easings] Added new module for easing animations
  353. [stb] Updated to latest headers versions
  354. [*] Lots of tweaks around
  355. -----------------------------------------------
  356. Release: raylib 1.3.0 (01 September 2015)
  357. -----------------------------------------------
  358. NOTE:
  359. This version supposed a big boost for raylib, new modules have been added with lots of features.
  360. Most of the modules have been completely reviewed to accomodate to the new features.
  361. Over 50 new functions have been added to previous raylib version.
  362. Most of the examples have been redone and +10 new advanced examples have been added.
  363. BIG changes:
  364. [rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
  365. [textures] FORMATS: Support for multiple internal formats, including compressed formats
  366. [camera] NEW MODULE: Set of cameras for 3d view: Free, Orbital, 1st person, 3rd person
  367. [gestures] NEW MODULE: Gestures system for Android and HTML5 platforms
  368. [raygui] NEW MODULE: Set of IMGUI elements for tools development (experimental)
  369. other changes:
  370. [rlgl] Added check for OpenGL supported extensions
  371. [rlgl] Added function SetBlenMode() to select some predefined blending modes
  372. [core] Added support for drop&drag of external files into running program
  373. [core] Added functions ShowCursor(), HideCursor(), IsCursorHidden()
  374. [core] Renamed function SetFlags() to SetConfigFlags()
  375. [shapes] Simplified some functions to improve performance
  376. [textures] Review of Image struct to support multiple data formats
  377. [textures] Added function LoadImageEx()
  378. [textures] Added function LoadImageRaw()
  379. [textures] Added function LoadTextureEx()
  380. [textures] Simplified function parameters LoadTextureFromImage()
  381. [textures] Added function GetImageData()
  382. [textures] Added function GetTextureData()
  383. [textures] Renamed function ConvertToPOT() to ImageConvertToPOT()
  384. [textures] Added function ImageConvertFormat()
  385. [textures] Added function GenTextureMipmaps()
  386. [text] Added support for Latin-1 Extended characters for default font
  387. [text] Redesigned SpriteFont struct, replaced Character struct by Rectangle
  388. [text] Removed function GetFontBaseSize(), use directly spriteFont.size
  389. [models] Review of struct: Model (added shaders support)
  390. [models] Added 3d collision functions (sphere vs sphere vs box vs box)
  391. [models] Added function DrawCubeTexture()
  392. [models] Added function DrawQuad()
  393. [models] Added function DrawRay()
  394. [models] Simplified funtion DrawPlane()
  395. [models] Removed function DrawPlaneEx()
  396. [models] Simplified funtion DrawGizmo()
  397. [models] Removed function DrawGizmoEx()
  398. [models] Added function LoadModelEx()
  399. [models] Review of function LoadCubicMap()
  400. [models] Added function ResolveCollisionCubicmap()
  401. [audio] Decopupled from raylib, now this module can be used as standalone
  402. [audio] Added function UpdateMusicStream()
  403. [raymath] Complete review of the module
  404. [stb] Updated to latest headers versions
  405. [*] Lots of tweaks around
  406. -----------------------------------------------
  407. Release: raylib 1.2.2 (31 December 2014)
  408. -----------------------------------------------
  409. [*] Added support for HTML5 compiling (emscripten, asm.js)
  410. [core] Corrected bug on input handling (keyboard and mouse)
  411. [textures] Renamed function CreateTexture() to LoadTextureFromImage()
  412. [textures] Added function ConvertToPOT()
  413. [rlgl] Added support for color tint on models on GL 3.3+ and ES2
  414. [rlgl] Added support for normals on models
  415. [models] Corrected bug on DrawBillboard()
  416. [models] Corrected bug on DrawHeightmap()
  417. [models] Renamed LoadCubesmap() to LoadCubicmap()
  418. [audio] Added function LoadSoundFromWave()
  419. [makefile] Added support for Linux and OSX compiling
  420. [stb] Updated to latest headers versions
  421. [*] Lots of tweaks around
  422. ---------------------------------------------------------------
  423. Update: raylib 1.2.1 (17 October 2014) (Small Fixes Update)
  424. ---------------------------------------------------------------
  425. [core] Added function SetupFlags() to preconfigure raylib Window
  426. [core] Corrected bug on fullscreen mode
  427. [rlgl] rlglDrawmodel() - Added rotation on Y axis
  428. [text] MeasureTextEx() - Corrected bug on measures for default font
  429. -----------------------------------------------
  430. Release: raylib 1.2 (16 September 2014)
  431. -----------------------------------------------
  432. NOTE:
  433. This version supposed a complete redesign of the [core] module to support Android and Raspberry Pi.
  434. Multiples modules have also been tweaked to accomodate to the new platforms, specially [rlgl]
  435. [core] Added multiple platforms support: Android and Raspberry Pi
  436. [core] InitWindow() - Complete rewrite and split for Android
  437. [core] InitDisplay() - Internal function added to calculate proper display size
  438. [core] InitGraphics() - Internal function where OpenGL graphics are initialized
  439. [core] Complete refactoring of input functions to accomodate to new platforms
  440. [core] Mouse and Keyboard raw data reading functions added for Raspberry Pi
  441. [core] GetTouchX(), GetTouchY() - Added for Android
  442. [core] Added Android callbacks to process inputs and Android activity commands
  443. [rlgl] Adjusted buffers depending on platform
  444. [rlgl] Added security check in case deployed vertex excess buffer size
  445. [rlgl] Adjusted indices type depending on GL version (int or short)
  446. [rlgl] Fallback to VBOs only usage if VAOs not supported on ES2
  447. [rlgl] rlglLoadModel() stores vbo ids on new Model struct
  448. [textures] Added support for PKM files (ETC1, ETC2 compression support)
  449. [shapes] DrawRectangleV() - Modified, depending on OGL version uses TRIANGLES or QUADS
  450. [text] LoadSpriteFont() - Modified to use LoadImage()
  451. [models] Minor changes on models loading to accomodate to new Model struct
  452. [audio] PauseMusicStream(), ResumeMusicStream() - Added
  453. [audio] Reduced music buffer size to avoid stalls on Raspberry Pi
  454. [src] Added makefile for Windows and RPI
  455. [src] Added resources file (raylib icon and executable info)
  456. [examples] Added makefile for Windows and RPI
  457. [examples] Renamed and merged with test examples for coherence with module names
  458. [templates] Added multiple templates to be use as a base-code for games
  459. -----------------------------------------------
  460. Release: raylib 1.1.1 (22 July 2014)
  461. -----------------------------------------------
  462. [core] ShowLogo() - To enable raylib logo animation at startup
  463. [core] Corrected bug with window resizing
  464. [rlgl] Redefined colors arrays to use byte instead of float
  465. [rlgl] Removed double buffer system (no performance improvement)
  466. [rlgl] rlglDraw() - Reorganized buffers drawing order
  467. [rlgl] Corrected bug on screen resizing
  468. [shapes] DrawRectangle() - Use QUADS instead of TRIANGLES
  469. [models] DrawSphereWires() - Corrected some issues
  470. [models] LoadOBJ() - Redesigned to support multiple meshes
  471. [models] LoadCubesMap() - Loading a map as cubes (by pixel color)
  472. [textures] Added security check if file doesn't exist
  473. [text] Corrected bug on SpriteFont loading
  474. [examples] Corrected some 3d examples
  475. [test] Added cubesmap loading test
  476. -----------------------------------------------
  477. Release: raylib 1.1.0 (19 April 2014)
  478. -----------------------------------------------
  479. NOTE:
  480. This version supposed a complete internal redesign of the library to support OpenGL 3.3+ and OpenGL ES 2.0.
  481. New module [rlgl] has been added to 'translate' immediate mode style functions (i.e. rlVertex3f()) to GL 1.1, 3.3+ or ES2.
  482. Another new module [raymath] has also been added with lot of useful 3D math vector-matrix-quaternion functions.
  483. [rlgl] New module, abstracts OpenGL rendering (multiple versions support)
  484. [raymath] New module, useful 3D math vector-matrix-quaternion functions
  485. [core] Adapt all OpenGL code (initialization, drawing) to use [rlgl]
  486. [shapes] Rewrite all shapes drawing functions to use [rlgl]
  487. [textures] Adapt texture GPU loading to use [rlgl]
  488. [textures] Added support for DDS images (compressed and uncompressed)
  489. [textures] CreateTexture() - Redesigned to add mipmap automatic generation
  490. [textures] DrawTexturePro() - Redesigned and corrected bugs
  491. [models] Rewrite all 3d-shapes drawing functions to use [rlgl]
  492. [models] Adapt model loading and drawing to use [rlgl]
  493. [models] Model struct updated to include texture id
  494. [models] SetModelTexture() - Added, link a texture to a model
  495. [models] DrawModelEx() - Redesigned with extended parameters
  496. [audio] Added music streaming support (OGG files)
  497. [audio] Added support for OGG files as Sound
  498. [audio] PlayMusicStream() - Added, open a new music stream and play it
  499. [audio] StopMusicStream() - Added, stop music stream playing and close stream
  500. [audio] PauseMusicStream() - Added, pause music stream playing
  501. [audio] MusicIsPlaying() - Added, to check if music is playing
  502. [audio] SetMusicVolume() - Added, set volume for music
  503. [audio] GetMusicTimeLength() - Added, get current music time length (in seconds)
  504. [audio] GetMusicTimePlayed() - Added, get current music time played (in seconds)
  505. [utils] Added log tracing functionality - TraceLog(), TraceLogOpen(), TraceLogClose()
  506. [*] Log tracing messages all around the code
  507. -----------------------------------------------
  508. Release: raylib 1.0.6 (16 March 2014)
  509. -----------------------------------------------
  510. [core] Removed unused lighting-system code
  511. [core] Removed SetPerspective() function, calculated directly
  512. [core] Unload and reload default font on fullscreen toggle
  513. [core] Corrected bug gamepad buttons checking if no gamepad available
  514. [texture] DrawTextureV() - Added, to draw using Vector2 for position
  515. [texture] LoadTexture() - Redesigned, now uses LoadImage() + CreateTexture()
  516. [text] FormatText() - Corrected memory leak bug
  517. [models] Added Matrix struct and related functions
  518. [models] DrawBillboard() - Reviewed, now it works!
  519. [models] DrawBillboardRec() - Reviewed, now it works!
  520. [tests] Added folder with multiple tests for new functions
  521. -----------------------------------------------
  522. Update: raylib 1.0.5 (28 January 2014)
  523. -----------------------------------------------
  524. [audio] LoadSound() - Corrected a bug, WAV file was not closed!
  525. [core] GetMouseWheelMove() - Added, check mouse wheel Y movement
  526. [texture] CreateTexture2D() renamed to CreateTexture()
  527. [models] LoadHeightmap() - Added, Heightmap can be loaded as a Model
  528. [tool] rREM updated, now supports (partially) drag and drop of files
  529. -----------------------------------------------
  530. Release: raylib 1.0.4 (23 January 2014)
  531. -----------------------------------------------
  532. [tool] Published a first alpha version of rREM tool (raylib Resource Embedder)
  533. [core] GetRandomValue() - Bug corrected, now works right
  534. [core] Fade() - Added, fades a color to an alpha percentadge
  535. [core] WriteBitmap() - Moved to new module: utils.c, not used anymore
  536. [core] TakeScreenshot() - Now uses WritePNG() (utils.c)
  537. [utils] New module created with utility functions
  538. [utils] WritePNG() - Write a PNG file (used by TakeScreenshot() on core)
  539. [utils] DecompressData() - Added, used for rRES resource data decompresion
  540. [textures] LoadImageFromRES() - Added, load an image from a rRES resource file
  541. [textures] LoadTextureFromRES() - Added, load a texture from a rRES resource file
  542. [audio] LoadSoundFromRES() - Added, load a sound from a rRES resource file
  543. [audio] IsPlaying() - Added, check if a sound is currently playing
  544. [audio] SetVolume() - Added, set the volume for a sound
  545. [audio] SetPitch() - Added, set the pitch for a sound
  546. [examples] ex06a_color_select completed
  547. [examples] ex06b_logo_anim completed
  548. [examples] ex06c_font select completed
  549. -----------------------------------------------
  550. Release: raylib 1.0.3 (19 December 2013)
  551. -----------------------------------------------
  552. [fonts] Added 8 rBMF free fonts to be used on projects!
  553. [text] LoadSpriteFont() - Now supports rBMF file loading (raylib Bitmap Font)
  554. [examples] ex05a_sprite_fonts completed
  555. [examples] ex05b_rbmf_fonts completed
  556. [core] InitWindowEx() - InitWindow with extended parameters, resizing option and custom cursor!
  557. [core] GetRandomValue() - Added, returns a random value within a range (int)
  558. [core] SetExitKey() - Added, sets a key to exit program (default is ESC)
  559. [core] Custom cursor not drawn when mouse out of screen
  560. [shapes] CheckCollisionPointRec() - Added, check collision between point and rectangle
  561. [shapes] CheckCollisionPointCircle() - Added, check collision between point and circle
  562. [shapes] CheckCollisionPointTriangle() - Added, check collision between point and triangle
  563. [shapes] DrawPoly() - Added, draw regular polygons of n sides, rotation can be defined!
  564. -----------------------------------------------
  565. Release: raylib 1.0.2 (1 December 2013)
  566. -----------------------------------------------
  567. [text] GetDefaultFont() - Added, get default SpriteFont to be used on DrawTextEx()
  568. [shapes] CheckCollisionRecs() - Added, check collision between rectangles
  569. [shapes] CheckCollisionCircles() - Added, check collision between circles
  570. [shapes] CheckCollisionCircleRec() - Added, check collision circle-rectangle
  571. [shapes] GetCollisionRec() - Added, get collision rectangle
  572. [textures] CreateTexture2D() - Added, create Texture2D from Image data
  573. [audio] Fixed WAV loading function, now audio works!
  574. -----------------------------------------------
  575. Update: raylib 1.0.1 (28 November 2013)
  576. -----------------------------------------------
  577. [text] DrawText() - Removed spacing parameter
  578. [text] MeasureText() - Removed spacing parameter
  579. [text] DrawFps() - Renamed to DrawFPS() for coherence with similar function
  580. [core] IsKeyPressed() - Change functionality, check if key pressed once
  581. [core] IsKeyDown() - Added, check if key is being pressed
  582. [core] IsKeyReleased() - Change functionality, check if key released once
  583. [core] IsKeyUp() - Added, check if key is being NOT pressed
  584. [core] IsMouseButtonDown() - Added, check if mouse button is being pressed
  585. [core] IsMouseButtonPressed() - Change functionality, check if mouse button pressed once
  586. [core] IsMouseButtonUp() - Added, check if mouse button is NOT being pressed
  587. [core] IsMouseButtonReleased() - Change functionality, check if mouse button released once
  588. [textures] DrawTexturePro() - Added, texture drawing with 'pro' parameters
  589. [examples] Function changes applied to ALL examples
  590. -----------------------------------------------
  591. Release: raylib 1.0.0 (18 November 2013)
  592. -----------------------------------------------
  593. * Initial version
  594. * 6 Modules provided:
  595. - core: basic window/context creation functions, input management, timming functions
  596. - shapes: basic shapes drawing functions
  597. - textures: image data loading and conversion to OpenGL textures
  598. - text: text drawing, sprite fonts loading, default font loading
  599. - models: basic 3d shapes drawing, OBJ models loading and drawing
  600. - audio: audio device initialization, WAV files loading and playing