Git Product home page Git Product logo

rsxgl's Introduction

RSXGL - The RSX Graphics Library

This library implements parts of the OpenGL 3.1 core profile specification for the PlayStation 3's RSX GPU. It's suitable for use in programs that have exclusive access to the RSX, such as GameOS software (and is likely unsuitable for implementing a multitasking desktop, as the library doesn't arbitrate access to the RSX).

Please see the STATUS file for up-to-date information about the current capabilities of this library.

Installing

RSXGL uses the GNU autotools for its build system and is distributed with a configure script. It requires the following projects:

RSXGL incorporates parts of the Mesa project, primarily to provide runtime compilation of GLSL programs. Suitable versions of Mesa and libdrm are included with RSXGL. python 2.6 with the libxml2 module is required by Mesa's build process (specifically for building GLSL's builtin functions).

The RSXGL library depends upon a toolchain that can generate binaries for the PS3's PPU, and also upon parts of the PSL1GHT SDK. The sample programs also require a few ported libraries, such as libpng, which are provided by the ps3toolchain project. ps3toolchain recommends setting two environment variables to locate these dependencies:

export PS3DEV=/usr/local/ps3dev
export PSL1GHT=$PS3DEV

RSXGL's configure script will use these environment variables if they're set; if they aren't set, by default the script uses the above settings:

./configure
make
make install

The build system creates libraries intended to be run on the PS3; it also creates some utilities (such as a shading program assembler derived from PSL1GHT's cgcomp) that are meant to run on the build system. By default, these products are installed under $PS3DEV/ppu and $PS3DEV, respectively. You can direct the build system to place them elsewhere:

./configure --with-ppu-prefix=/path/to/rsxgl --prefix=/path/to/ps3dev

If the ported libraries, such as libpng and zlib, have been installed someplace other than ${PS3DEV}/portlibs/ppu, you can set an environment variable to find them:

./configure ppu_portlibs_PKG_CONFIG_PATH=/path/to/portlibs/lib/pkgconfig

Pass the "--help" option to configure to see many other build system options.

Sample programs

Currently two sample programs are built:

  • src/samples/rsxgltest - A very simple test program whose contents and behavior will vary. This program is mainly used to try out various features of the library as they are developed.

  • src/samples/rsxglgears - A port of an old chestnut, the "glgears" program that uses OpenGL to render some spinning gears. This port is based upon a version included in the Mesa library, which was itself a port to OpenGL ES 2 after being handed down throughout the ages.

Sample programs are packaged into NPDRM .pkg files, but those packages remain in their build locations; they don't get moved anywhere relative to RSXGL's install path by "make install".

The sample can print debugging information over TCP, in the manner of PSL1GHT's network/debugtest sample. You can pass the the IP address of your host system to RSXGL's configure:

./configure RSXGL_CONFIG_samples_host_port=192.168.1.1 RSXGL_CONFIG_samples_port=9100

Before starting the application on the PS3, use this command to receive debugging output:

nc -l 9100

If you don't want to build the samples at all:

./configure --disable-samples

More complex samples are available in a separate project.

rsxgl's People

Contributors

gzorin avatar kakaroto avatar

Stargazers

roman5566 avatar  avatar  avatar

Watchers

 avatar  avatar James Cloos avatar  avatar

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.