Git Product home page Git Product logo

tiny3d's Introduction

Tiny3D 2.0 + libfont

Tiny3D is one library to work with 2D/3D graphics.

NOTE: this repository is updated to the last PSL1GHT libraries and tools

It uses PSL1GHT and install the libraries in $PORTLIBS/lib, C Header files in $PORTLIBS/include. it will also install nv40v1.h that comes from PSL1GHT V1

see the 'docs' folder to know more (i need to update the info to the 2.0 version)

Credits

Hermes         - Author
ElSemi         - Vertex Program Compiler and other useful sample code
HACKERCHANNEL  - PSL1GHT
Oopo           - ps3libraries
xerpi          - porting the lib to v2
deroad/Wargio  - check code
Bucanero, CrystalCT, Miigotu, Shagkur, Wargio and Zeldin to update Tiny3D for GCC 7.2.0

License

It use the same PSL1GHT license (it have one? XD)

Some samples can use LPGL, GPL, OFL or maybe others licenses depending of the libraries
or datas used.

Environment

libtiny3d.a -> the library

tiny3d.h    -> 2D/3D functions

matrix.h    -> Math support for matrix

--------------------------------------

libfont.a   -> library to work with fixed fonts (now allow capture from True Type Fonts)
libfont.h

Building

In order to build tiny3d you need to have PSL1GHT installed - https://github.com/ps3dev/PSL1GHT You need the environment variable $PSL1GHT defined

For the samples to build you need to have ps3soundlib installed - https://github.com/wargio/ps3soundlib

cd tiny3D
make

It makes and install libs and samples.

Remember you can descend later to the samples folder to compile ONLY the samples:

cd samples
make
make pkg

Current Status

Support lights (4 positional specular / diffuse lights + ambient) and materials.

Support double textures and dedicated surface rendering (You can render in the scene in one texture).

Support for YUV surfaces using two methods. (See 'docs' and yuv sample)

Support for list of objects (See 'docs' and tiny3d_list sample)

It uses a configurable vertex shader and 'n' pixel shaders to work

Added libfont.a with support for fonts based in bitmaps arrays of characters

It works with this samples: spheres3D, sprites2D, surfaces, fonts, fonts_from_ttf ps3loadx, yuv, tiny3d_lists

spheres3D uses the advanced features of Tiny3D 2.0

tiny3d's People

Contributors

bucanero avatar cpasjuste avatar crystalct avatar erikandren avatar shagkur avatar wargio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tiny3d's Issues

Building Tiny3D

Need to change in compilation:

cd tiny3d

to

cd tiny3D

:-)

Compilation error in samples/spheres3D/source/main.c

The build fails with the following compilations error:

home/louis/Documents/ps3/tiny3D/samples/spheres3D/source/main.c: In function 'LoadTexture':
/home/louis/Documents/ps3/tiny3D/samples/spheres3D/source/main.c:262:41: error: 'texture1_png_bin_size' undeclared (first use in this function); did you mean 'texture1_png_bin_end'?
     pngLoadFromBuffer(texture1_png_bin, texture1_png_bin_size, &texture1);
                                         ^~~~~~~~~~~~~~~~~~~~~
                                         texture1_png_bin_end
/home/louis/Documents/ps3/tiny3D/samples/spheres3D/source/main.c:262:41: note: each undeclared identifier is reported only once for each function it appears in
/home/louis/Documents/ps3/tiny3D/samples/spheres3D/source/main.c:263:41: error: 'texture2_png_bin_size' undeclared (first use in this function); did you mean 'texture1_png_bin_size'?
     pngLoadFromBuffer(texture2_png_bin, texture2_png_bin_size, &texture2);
                                         ^~~~~~~~~~~~~~~~~~~~~
                                         texture1_png_bin_size
make[3]: *** [/home/louis/Documents/ps3/ps3toolchain/bin/base_rules:68: main.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:125: build] Error 2
make[1]: *** [Makefile:9: all] Error 2
make: *** [Makefile:8: all] Error 2

Edit: After some investigation, I have found that the sample itself can be build with its Makefile and works correctly in rpcs3. I am guessing right now, that the linker can't find the binary to link, because the path to the ressource is different from the projects directory instead from the sample directory. But thats just a speculation, I keep investigating.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.