In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "GRRLIB"

From WiiBrew
Jump to navigation Jump to search
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Infobox development tools
 
{{Infobox development tools
 
| title      = GRRLIB
 
| title      = GRRLIB
| image      = [[File:Grrlogo.png]]
+
| image      = [[File:GRRLIB_GX_Logo.png|200px]]
 
| type        = framework library
 
| type        = framework library
 
| author      = [[User:NoNameNo|NoNameNo]]
 
| author      = [[User:NoNameNo|NoNameNo]]
 
| contributor = Numerous
 
| contributor = Numerous
| version    = 4.1.0
+
| version    = 4.5.1
 
| licence    = MIT Licence
 
| licence    = MIT Licence
| download    = http://grrlib.googlecode.com/files/GRRLIB%204.1.0.zip
+
| download    = https://github.com/GRRLIB/GRRLIB/releases/latest
| source      = http://code.google.com/p/grrlib/source
+
| source      = https://github.com/GRRLIB/GRRLIB
 
| website    = http://grrlib.santo.fr/wiki/
 
| website    = http://grrlib.santo.fr/wiki/
 
| discussion  = http://grrlib.santo.fr/forum/
 
| discussion  = http://grrlib.santo.fr/forum/
 
}}
 
}}
 +
'''GRRLIB''' is a C/C++ 2D/3D graphics library for Wii application developers. It is essentially a wrapper which presents a friendly interface to the Nintendo GX core. With it, coders can quickly and easily start creating graphical applications.
  
'''GRRLIB''' is a C/C++ 2D Graphics library for Wii application developers. It is essentially a wrapper which presents a friendly interface to the Nintendo GX core. With it, coders can quickly and easily start creating graphical applications.
+
GRRLIB is supplied as a standard C/C++ library (aka. archive) called 'libgrrlib'. Because GRRLIB processes JPEG and PNG images, it requires the installation of the 'libjpeg' and 'libpngu' libraries. 'libpngu', in turn, requires 'libpng' and 'libpng' requires 'libz'. GRRLIB also has FileIO functions to allow real-time loading and saving of graphical data, and thus also requires '[[libfat]]'. GRRLIB also has the possibility to use TrueType fonts, so 'libfreetype' is also required.
  
As of v4.1.0, GRRLIB is supplied as a standard C/C++ library (aka. archive) called 'libgrrlib'. Because GRRLIB processes JPEG and PNG images, it requires the installation of the 'libjpeg' and 'libpngu' libraries. 'libpngu', in turn, requires 'libpng' and 'libpng' requires 'libz'. GRRLIB also has FileIO functions to allow real-time loading and saving of graphical data, and thus also requires '[[libfat]]'.
 
  
 
There are currently [[:Category:Homebrew using GRRLib|{{PAGESINCATEGORY:Homebrew using GRRLib}} applications]] using GRRLIB.
 
There are currently [[:Category:Homebrew using GRRLib|{{PAGESINCATEGORY:Homebrew using GRRLib}} applications]] using GRRLIB.
  
Help can be found on the forum or in {{efnet|grrlib}}.
+
Help can be found on the forum or in {{EFnet|grrlib}}.
  
== Update History ==
+
The Change Log can be found in the [https://grrlib.github.io/GRRLIB/pages.html documentation].
  
=== 4.1.0 - October 5, 2009 ===
+
== Sample Code included in GRRLIB releases ==
* Completely new file structure with sub-folders:
+
{|
    libgrrlib          <- 2D graphics library
+
|<youtube width="425" height="265">f7tR9BPBCuU</youtube>
    +-- libfat        <- File I/O
+
|<youtube width="425" height="265">Tb8wJYf3e3Q</youtube>
    +-- libjpeg        <- JPEG image processor
+
|-
    +-- libpngu        <- Wii wrapper for libpng
+
|<youtube width="425" height="265">TLox2nqlBLo</youtube>
        +-- libpng    <- PNG image processor
+
|<youtube width="425" height="265">_cuOdd0383g</youtube>
            +-- libz  <- Zip (lossless) compression (for PNG compression)
+
|-
* Installer for vendor libraries (jpeg, png, pngu)
+
|<youtube width="425" height="265">Sedo1s0Zh5E</youtube>
* Makefile for GRRLIB
+
|<youtube width="425" height="265">dxCE-65p9uA</youtube>
* Many (all suitable) functions are now inlined
+
|-
* Support for the recent changes to libogc
+
|<youtube width="425" height="265">Z03L3kOKwDE</youtube>
* Alpha compositor function added
+
|<youtube width="425" height="265">o5DleSg8lpI</youtube>
* Correct use of pointers (no more struct passing)
+
|-
* Speed improvement, bug fixing and more...
+
|<youtube width="425" height="265">1a7pU7GaYww</youtube>
 
+
|<youtube width="425" height="265">Fl6uX-lfAjw</youtube>
=== 4.0.0 - March 5, 2009 ===
+
|-
* Color format changed for ALL GRRLib functions (now its RGBA) to fit to GX_Color format and use GX_Color1u32
+
|<youtube width="425" height="265">PlPdVqYZZ_g</youtube>
* GRRLIB_LoadTexture now Auto Detect PNG or JPEG
+
|<youtube width="425" height="265">EtB7QJ6EIFI</youtube>
* GRRLib introduce a new texture structure (easier to handle texture width, height, etc ...)
+
|-
* add void GRRLIB_InitTileSet(struct GRRLIB_texImg *tex, unsigned int tilew, unsigned int tileh, unsigned int tilestart);
+
|<youtube width="425" height="265">ELESkRaUzUs</youtube>
* GRRLIB_DrawImg recoded for simpler use
+
|<youtube width="425" height="265">3TS0hwXJ6QQ</youtube>
* GRRLIB_DrawTile recoded for simpler use
+
|-
* InitVideo() and GRRLIB_Start() merge into GRRLIB_Init().
+
|<youtube width="425" height="265">RbHzAFiCf7A</youtube>
* add GRRLIB_PtInRect, GRRLIB_RectInRect and GRRLIB_RectOnRect. (to detect hot zone)
+
|<youtube width="425" height="265">8G4UwioHUkw</youtube>
* GRRLIB_GetPixelFromtexImg and GRRLIB_SetPixelTotexImg (to directly read/write in texture)
+
|-
* GRRLIB_CreateEmptyTexture and GRRLIB_FlushTex
+
|<youtube width="425" height="265">ZJ0nHdrzhFg</youtube>
* New Bitmap FX
+
|<youtube width="425" height="265">kvbS30xfqGQ</youtube>
* add GRRLIB_Exit to free the memory allocated by GRRLIB
+
|-
 
+
|<youtube width="425" height="265">-_8m_BHMJV8</youtube>
== Video ==
+
|<youtube width="425" height="265">fi0CuLYMwxQ</youtube>
<youtube width="425" height="265">9BS90PMu5Ik</youtube>
+
|}
 +
== Little Promotion Demos ==
 +
{|
 +
|<youtube width="425" height="265">JmuHFjdad-E</youtube>
 +
|<youtube width="425" height="265">ZzfIyjGafLQ</youtube>
 +
|-
 +
|<youtube width="425" height="265">zqnfM488D7E</youtube>
 +
|<youtube width="425" height="265">9BS90PMu5Ik</youtube>
 +
|}
  
 
== Credits ==
 
== Credits ==

Latest revision as of 10:00, 2 March 2024

GRRLIB
GRRLIB GX Logo.png
General
Author(s)NoNameNo
Contributor(s)Numerous
TypeFramework library
Version4.5.1
LicenceMIT Licence
Links
Download
Website
Discussion
Source

GRRLIB is a C/C++ 2D/3D graphics library for Wii application developers. It is essentially a wrapper which presents a friendly interface to the Nintendo GX core. With it, coders can quickly and easily start creating graphical applications.

GRRLIB is supplied as a standard C/C++ library (aka. archive) called 'libgrrlib'. Because GRRLIB processes JPEG and PNG images, it requires the installation of the 'libjpeg' and 'libpngu' libraries. 'libpngu', in turn, requires 'libpng' and 'libpng' requires 'libz'. GRRLIB also has FileIO functions to allow real-time loading and saving of graphical data, and thus also requires 'libfat'. GRRLIB also has the possibility to use TrueType fonts, so 'libfreetype' is also required.


There are currently 130 applications using GRRLIB.

Help can be found on the forum or in #grrlib on EFnet.

The Change Log can be found in the documentation.

Sample Code included in GRRLIB releases

Little Promotion Demos

Credits

Programming

NoNameNo, Crayon, Xane, DragonMinded, BlueChip, elisherer

Documentation

Crayon, BlueChip

Advising

RedShade, Jespa

Tools

  • WiiBuilder is software for Windows that help you with image conversion/generation and more.