raysan5
cdc8850e68
WARNING: REDESIGN of rlgl framebuffers API #721
...
This redesign allows more flexibility when creating RenderTexture and a simplification (and hopefully removal) of `GenTexture*()` functions, that should not belong to this model but the user code, due to the use of custom shaders.
Also, this new API opens the door for a possible GBuffers type and advance rendering possibilities...
Some functions of the API have been also simplified or even removed.
rlgl module can be used as an standalone library, so, a version for the library has been added: v3.1.0, matching current raylib version.
2020-09-18 02:11:49 +02:00
raysan5
43d82c1f21
Add security checks when loading data from memory
2020-09-16 11:33:56 +02:00
Ray
8cf0be4b6c
Review memory loading functions signesness
2020-09-14 19:20:38 +02:00
raysan5
5073619962
REVIEWED: GetTextureData(), allow retrieving 32bit float data
2020-09-14 16:03:45 +02:00
Ray
768b29dd74
ADDED: LoadImageFromMemory() #1327
2020-09-13 15:37:15 +02:00
raysan5
f1ed8be5d7
REDESIGNED: ColorFromHSV()
...
Replaced Vector3 by direct values, easier to use and understand
2020-09-07 19:33:06 +02:00
raysan5
0db0e6acd8
WARNING: REMOVED: LoadImageEx()
...
Reason for removal: This function forces a specific Image data format, it copies data internally (it could be confusing and lead to memory leaks), it's redundant, there is a simpler alternative and raylib promotes using structures directly
2020-07-10 19:18:29 +02:00
raysan5
3f4c6fee11
Correct issue when not supporting GIF format
2020-07-10 17:24:37 +02:00
raysan5
c57323f29c
ADDED: LoadImageAnim() to load animated sequence of images
2020-07-10 13:59:01 +02:00
Doyle
00fda3be65
Fix incorrect color transform to 255 space ( #1297 )
2020-07-05 20:02:32 +02:00
Ray
5986eee6ab
Expose additional configuration options
...
Some internal defines have been exposed in config.h
2020-06-30 11:05:09 +02:00
Vlad Adrian
4d71e9b44f
Added new function DrawTextureTiled() ( #1291 )
...
* Implemented DrawTextureTiled()
* Example added
2020-06-27 23:59:14 +02:00
Ray
ba39a1b304
ADDED: UpdateTextureRec()
2020-06-25 16:26:59 +02:00
raysan5
e18c4c1158
REVIEWED: ColorAlphaBlend(), support tint color
2020-06-20 23:32:32 +02:00
raysan5
7ed7116e27
REVIEWED: ColorAlphaBlend(), integers-version, optimized #1218
2020-06-20 19:57:09 +02:00
raysan5
5a862bce29
REVIEWED: ImageDraw(), consider negative source offset properly #1283
2020-06-20 18:49:15 +02:00
raysan5
da582e2eec
REVIEWED: ImageDraw() #1283
2020-06-20 18:10:21 +02:00
raysan5
afcc584fb6
RE-ADDED: Fade() function to avoid multiple breaking changes
...
Probably there is a better way to do this but this is a temporary solution for backward compatibility
2020-06-16 10:36:05 +02:00
raysan5
589d606000
REDESIGNED: ImageDraw(), optimized #1218
...
After multiple tests and lot of redesign, current implementation is the fastest one. It also considers several fast-paths for maximum speed!
2020-06-15 12:06:41 +02:00
raysan5
32c0a7a135
Small code optimization
2020-06-15 12:05:03 +02:00
raysan5
bfa6544030
REDESIGNED: ImageResize(), optimized #1218
2020-06-15 12:04:18 +02:00
raysan5
691c1f9391
REDESIGNED: ImageFromImage(), optimized #1218
2020-06-15 12:03:33 +02:00
raysan5
ad954dc7ab
WARNING: BIG CHANGE: Move Color functions to texture module
...
WARNING: Some functions ADDED and some RENAMED:
- RENAMED: Fade() -> ColorAlpha() [Added #define for compatibility]
- ADDED: ColorAlphaBlend()
- ADDED: GetPixelColor()
- ADDED: SetPixelColor()
2020-06-15 12:02:50 +02:00
raysan5
ec09fea29a
REDESIGNED: ImageDraw(), optimization #1218
...
Trying a new optimization approach, some additional functions added, they will be probably exposed soon.
2020-06-11 22:47:25 +02:00
raysan5
15bfe44e73
REVIEWED: ImageDraw(), optimizations test #1218
...
Despite all the effort put on function optimization, dealing with alpha blending is complex, considering src and dst could have different pixel format...
2020-06-11 12:47:47 +02:00
raysan5
a6e6a99cb6
REDESIGNED: ImageAlphaClear(), optimized #1218
2020-06-10 23:10:16 +02:00
raysan5
4745ebeed5
REVIEWED: ImageResizeCanvas(), optimization #1218
...
Optimized to avoid ImageCrop() calls, now we define the source image rectangle and we just copy that data over the new canvas.
2020-06-10 21:21:37 +02:00
raysan5
dea0279a74
REVIEWED: ExportImage(), optimized
2020-06-09 19:52:10 +02:00
raysan5
7ef0fb4192
REVERTED: ExportImage() changes
...
Always using RGBA for now.
2020-06-08 21:18:42 +02:00
raysan5
82f7dd017e
REVIEWED: ImageAlphaPremultiply(), optimization
2020-06-08 18:24:53 +02:00
raysan5
40bc6afdbd
REVIEWED: ImageAlphaClear(), minor optimization
2020-06-08 18:23:59 +02:00
raysan5
87592e2625
Update textures.c
2020-06-07 20:32:43 +02:00
raysan5
d0e9228660
REDESIGNED: ImageResizeCanvas(), optimized #1218
2020-06-07 18:33:30 +02:00
raysan5
a9fb0aa207
ImageToPOT() renamed parameter
2020-06-07 18:32:20 +02:00
raysan5
b5174a9990
REVIEWED: ImageCrop() #1218
...
Further optimization, moving data line-by-line
Old optimization left for reference
2020-06-07 12:57:57 +02:00
raysan5
b7d53ce314
REVIEWED: ImageToPOT() #1218
...
Using ImageResizeCanvas()
2020-06-07 12:56:47 +02:00
raysan5
78c3d619f9
REVIEWED: ImageAlphaCrop() #1218
...
Now uses GetImageAlphaBorder()
2020-06-07 12:33:42 +02:00
raysan5
02ff68e1a3
REDESIGNED: ImageCrop(), optimized #1218
2020-06-07 12:16:27 +02:00
raysan5
7cf1e76d53
REVIEWED: ExportImage(), optimized #1218
...
Avoid GetImageData() retrieval and free
2020-06-07 11:57:22 +02:00
raysan5
776e4a37ef
REDESIGNED: ImageRotateCCW(), optimized #1218
2020-06-07 11:53:13 +02:00
raysan5
79e2fbe0c6
REDESIGNED: ImageRotateCW(), optimized #1218
2020-06-07 11:52:55 +02:00
raysan5
d278eae4a3
REDESIGNED: ImageFlipHorizontal(), optimized #1218
...
Added several optimized options for future reference (if required)
2020-06-07 11:52:21 +02:00
raysan5
93d6dd3023
REDESIGNED: ImageFlipVertical(), optimized #1218
2020-06-07 11:51:26 +02:00
raysan5
3792951023
REVIEWED: GetPixelDataSize() to consider compressed data properly
2020-06-02 23:08:34 +02:00
raysan5
b0f245d8c5
Review ExportImageAsCode() comment
2020-05-24 15:47:15 +02:00
raysan5
427e543d84
Corrected issue
...
Compression API requires functions provided by stbi_image_write (DEFLATE compression)
2020-05-23 23:17:34 +02:00
raysan5
4e8e90b6df
Add note comment on ExportImageAsCode()
2020-05-23 19:46:58 +02:00
raysan5
b95673f701
Use RL_FREE() instead of free()
2020-05-23 19:21:46 +02:00
raysan5
d3dece3343
REDESIGNED: ExportImageAsCode() to use memory buffer #1232
2020-05-23 18:24:53 +02:00
raysan5
795c079c55
Corrected issues on LoadPKM()
2020-05-23 18:04:58 +02:00
raysan5
0e56bc2929
Replace file accesses by memory accesses
...
Several functions used to load external files have been reviewed to just load the full file with LoadFileData() and load data from memory from there. This way all file access functionality is centralized in utils module.
Functions reviewed: LoadDDS(), LoadPKM(), LoadKTX(), LoadPVR(), LoadASTC(), SaveKTX()
2020-05-22 01:47:30 +02:00
raysan5
3a33fe0fd9
Avoid LoadImageEx() usage internally
...
At this point LoadImageEx() could be removed from raylib... still thinking about it...
2020-05-14 13:37:52 +02:00
raysan5
3a6af2cc57
Remove SUPPORT_IMAGE_DRAWING flag
...
ImageDraw() is actually used in multiple functions and it aslo depends on several functions...
2020-05-09 17:17:54 +02:00
raysan5
7a1d3d807f
WARNING: RENAMED: ImageExtractPalette() -> GetImagePalette()
2020-05-09 12:07:18 +02:00
raysan5
959447d8ed
Reorganized texture functions
...
Removed ImageAlphaMask() dependency on [text] LoadBMFont()
2020-05-09 12:05:00 +02:00
raysan5
d357b116fe
Reviewed missing check for JPG
2020-05-07 18:08:35 +02:00
raysan5
fdad1f023b
Avoid all MSVC compile warnings
...
Most warning were related to types conversion (casting required) and unsigned/signed types comparisons.
Added preprocessor directives (_CRT_SECURE_NO_DEPRECATE; _CRT_NONSTDC_NO_DEPRECATE) to avoid warnings about unsafe functions, those functions are safe while used properly and recommended alternatives are MS only.
Some external libraries still generate warnings.
2020-05-06 19:12:09 +02:00
raysan5
51c3bef497
Review exposed #defines and allow user re-defining
...
There are multiple #define values around raylib, usually not exposed for redefinition, just reviewed all of them to allow users redefining them on compile time if required.
Also, multiple #define have been renamed and commented.
2020-05-01 17:31:44 +02:00
raysan5
cc816345bf
WARNING: API BREAK: Removed LoadImagePro()
...
Actually this function is useless and potentially dangerous, internally, a shallow copy of data was done. Same could be accomplished accesing image.data directly.
2020-04-10 19:26:36 +02:00
raysan5
b132da0ac2
WARNING: API BREAK: Reviewed ImageDrawText*() params order
...
To unify with DrawText*() equivalent functions
2020-04-10 19:10:15 +02:00
raysan5
926651b708
Optimized ImageDrawPixel()
...
Now it's blazing fast. It modifies image.data directly.
Previous version could take up to 3-4 seconds to draw a line... now it takes some nanoseconds...
2020-04-09 22:44:10 +02:00
raysan5
0abe557af1
Fixed issue with ImageDrawLine()
2020-04-08 12:37:52 +02:00
raysan5
4ceb4d3bf3
Some code tweaks, comments and defines
2020-04-05 17:50:37 +02:00
raysan5
8941cf3e66
Update textures.c
2020-03-30 17:42:19 +02:00
raysan5
e8a8d544c5
Review formating and signegness issues
2020-03-30 14:38:16 +02:00
Rob Loach
a025636fa1
Update ImageDraw*() functions to match arguments of Draw*() ( #1156 )
...
* Update ImageDraw*() functions to match arguments of Draw*()
Updated draw functions:
ImageDrawPixel()
ImageDrawPixelV()
ImageDrawCircle()
ImageDrawCircleV()
ImageDrawLine()
ImageDrawLineV()
ImageDrawRectangle()
ImageDrawRectangleV()
ImageDrawRectangleRec()
* [nodepadpp] Update Notepad++ ImageDraw defintions
This updates the Notepad++ definitions with the updated ImageDraw methods.
* [examples] Add ImageDraw calls to textures_image_drawing
* Update ImageDraw*() methods
2020-03-29 12:43:34 +02:00
raysan5
d28e73849b
Review TRACELOG() messages
2020-03-27 18:49:21 +01:00
raysan5
7e2b1b4ff0
[textures] Review TRACELOG() messages
2020-03-27 17:43:38 +01:00
raysan5
b9dd459d5a
[textures] Review TRACELOG() messages, categorized
2020-03-27 17:15:44 +01:00
raysan5
7ae7a87f8a
Remove trail spaces
2020-03-25 19:41:51 +01:00
raysan5
5aebd2a16c
Review formating from PR #1138
2020-03-21 20:30:40 +01:00
Sourav Gupta
574c689ff7
Added draw functions to ImageDraw*() ( #1138 )
...
Added draw functions:
ImageClearBackground()
ImageDrawPixel()
ImageDrawLineEx()
ImageDrawCircle()
2020-03-21 20:23:50 +01:00
raysan5
2344941974
Replace external libraries custom allocators by raylib ones #1074
...
NOTE: Two libraries still use custom allocators: glfw and stb_vorbis
2020-03-17 13:40:07 +01:00
raysan5
71b06caed4
Corrected typo
2020-03-15 17:06:08 +01:00
raysan5
4611406c68
REVIEWED: ImageTextEx() to support line breaks #1131
...
NOTE: This functionality has an important issue, line space is fixed to 1.5 font.baseSize pixels, depending on the font and how it has been generated that spacing could be too wide or too narrow...
2020-03-15 16:18:48 +01:00
SasLuca
680f9d5772
Changed if to else if. ( #1122 )
2020-03-08 18:03:23 +01:00
Ray
a6297a2be1
Some code tweaks
2020-03-03 01:21:06 +01:00
Ray
1ee6290fcf
Replaced fabs() by fabsf() when required
2020-02-28 12:54:39 +01:00
Ray
c8464bc731
Corrected return value
2020-02-27 16:22:34 +01:00
Ray
b2098a2d60
REDESIGN: ExportImage()
...
Use new file I/O ABI
2020-02-27 16:15:58 +01:00
Ray
acfa967e89
Corrected issue with variable name
2020-02-27 13:56:27 +01:00
Ray
5ff0776235
Remove trail spaces and some tweaks
2020-02-27 13:33:09 +01:00
Ray
2a408d789c
REDESIGNED: LoadImage() -WIP-
...
Using new file I/O ABI
2020-02-27 13:21:51 +01:00
Ray
5100cb3e7f
REDESIGNED: LoadImageRaw(), LoadAnimatedGIF()
...
Using new file I/O ABI
2020-02-27 13:21:21 +01:00
SasLuca
dec85f741a
Fixed memory leaks in textures.c ( #1097 )
2020-02-11 22:25:27 +01:00
Ray
ea40bda88c
Added func used in comments
2020-02-04 17:52:40 +01:00
Ray
b5fe41f41a
Review libc dependencies and remove when possible
...
Just for clarification, no plans to remove libc dependency, just did some code analysis to see how much raylib depend on stardard C library. My conclusions:
- stdlib.h: primary dependency is for malloc() and free()
- stdio.h: primary dependency is for FILE access, maybe it could go through a custom ABI?
- string.h: just around 8 functions required
- math.h: just around 8 functions required
- others: 1-2 functions required for some other headers
2020-02-04 16:55:24 +01:00
Ray
c3f06b7470
Remove all trail spaces
2020-02-03 19:26:28 +01:00
Ray
cde26c743c
Replace TraceLog() function by TRACELOG macro
...
Added SUPPORT_TRACELOG_DEBUG config
2020-02-03 19:13:24 +01:00
raysan5
bec467705e
Review custom allocators
2020-01-19 11:23:38 +01:00
Ray
237972652d
GetImageAlphaBorder() return 0 in case of blank image
2020-01-15 11:52:50 +01:00
Ray
4525c897e2
GetImageData() returns NULL if image size is 0
2020-01-15 11:22:00 +01:00
raysan5
21c30f43d4
Update year to 2020
2020-01-05 20:01:54 +01:00
raysan5
c0d1425aac
Remove TABS
2019-12-29 13:53:05 +01:00
Ray
e614942a2d
Read texture data as RGBA from FBO on GLES 2.0
2019-12-11 23:22:10 +01:00
raysan5
e8b89b5ecf
REVIEW: GetImageData() and GetImageAlphaBorder()
2019-11-04 13:30:55 +01:00
João Coelho
75b0264f35
fix various problems, thanks CppCheck :) ( #1005 )
...
* explained a bit more the core_window_letterbox example
* fixed a few 'ups' moments that could lead to mild head pain and time loss
2019-10-29 15:57:19 +01:00
raysan5
68dcb55349
Corrected bug on ImageDrawRectangleLines()
2019-10-19 17:26:45 +02:00
Ray
b75511248d
Remove trailing spaces
2019-10-17 17:18:03 +02:00
Ray
12d3e21f1b
REVIEW: ImageAlphaMask()
...
When adding alpha mask to GRAYSCALE image, if using ImageFormat(), it could change pixel values, now we avoid that, mask is just added as an extra channel
2019-10-11 20:08:41 +02:00