diff --git a/README.md b/README.md index 35ed55e1..8e242e1a 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,18 @@ Notable additions in this fork are: * Software renderer internal resolution upscaling, implemented by simias; * An OpenGL 3.3 renderer, developed by simias; * A Vulkan renderer, developed by TinyTiger; -* PGXP perspectve correct texturing and subpixel precision, developed by iCatButler; +* PGXP perspective correct texturing and subpixel precision, developed by iCatButler; + +## Building + +Beetle PSX can be built with `make`. To build with hardware renderer support, run `make HAVE_HW=1`. `make clean` is required when switching between HW and non-HW builds. + +## Coding Style + +The preferred coding style for Beetle PSX is the libretro coding style. See: https://docs.libretro.com/development/coding-standards/. Preexisting Mednafen code and various subdirectories may adhere to different styles; in those instances the preexisting style is preferred. ## Documentation +https://docs.libretro.com/library/beetle_psx/ + https://docs.libretro.com/library/beetle_psx_hw/ diff --git a/parallel-psx/README.md b/parallel-psx/README.md index 232e059d..a2c93039 100644 --- a/parallel-psx/README.md +++ b/parallel-psx/README.md @@ -5,13 +5,14 @@ The aim is to be best-in-class for visual quality as well as accuracy for a HW r Main features: - - Internal up-scaling. - - Adaptive smoothing, which aims to make 2D elements smooth, and 3D elements crisp and sharp. + - Internal upscaling + - Multisample anti-aliasing + - Adaptive smoothing, which aims to make 2D elements smooth, and 3D elements crisp and sharp - Full mask bit emulation - Full framebuffer emulation - - Standalone API for easy integration in other emulators. - - RSX dump playback support (can be dumped from Beetle PSX). - - PGXP integration (sub-pixel precision and perspective correctness). + - Standalone API for easy integration in other emulators + - RSX dump playback support (can be dumped from Beetle PSX) + - PGXP integration (sub-pixel precision and perspective correctness) ## Hardware and drivers tested on @@ -58,4 +59,3 @@ make -j8 This renderer would not have existed without the excellent Mednafen PSX emulator as well as Rustation PSX renderer. Otherwise, all code sans submodules in this repository is by Tiny Tiger. - diff --git a/rsx/README.md b/rsx/README.md index 3bba5635..b2501e26 100644 --- a/rsx/README.md +++ b/rsx/README.md @@ -1,4 +1,6 @@ -# RSX API and RSX OpenGL Renderer +# RSX API and OpenGL 3.3 Renderer + +## RSX API The RSX API is the means by which components of the Beetle PSX libretro core interface with the hardware renderers. The RSX API offers two general classes of functions for the core. The first class consists of various functions used to perform libretro-specific actions such as reading core options or preparing/finalizing the current emulation loop frame. The second class of functions consists of RSX interface functions that the emulated PSX GPU uses to issue commands to the hardware renderer. Not every emulated PSX GPU command has a corresponding RSX interface function, but the set of available functions can be extended or modified as necessary when bugs are discovered and higher accuracy is required. @@ -6,12 +8,18 @@ Each unique hardware renderer will implement RSX interface functions as another The RSX API also includes support for dumping RSX API calls to file, which can be utilized for debugging purposes by any renderers that implement RSX playback. -The RSX OpenGL renderer is currently implemented alongside the RSX API in `rsx_intf.cpp`. OpenGL renderer functions are prefixed with `rsx_gl`. +## OpenGL 3.3 Renderer + +The OpenGL renderer is currently implemented in `rsx_lib_gl.cpp` and can be called via the functions exposed in `rsx_lib_gl.h`. ## Building -The RSX API and RSX OpenGL renderer are components of the Beetle PSX libretro core. To build with OpenGL support, run `make HAVE_OPENGL=1` in the repository's top level directory. To build with all possible hardware renderers, instead run `make HAVE_HW=1`. To build with dump support, additionally pass `RSX_DUMP=1`. +The RSX API and OpenGL renderer are components of the Beetle PSX libretro core. To build with OpenGL support, run `make HAVE_OPENGL=1` in the repository's top level directory. To build with all possible hardware renderers, instead run `make HAVE_HW=1`. To build with dump support, additionally pass `RSX_DUMP=1`. ## Coding Style -The preferred coding style for the rsx subdirectory is the libretro coding style. See: https://docs.libretro.com/development/coding-standards/ \ No newline at end of file +The preferred coding style for the rsx subdirectory is the libretro coding style. See: https://docs.libretro.com/development/coding-standards/ + +## Credits + +The OpenGL renderer was originally authored by simias as a port/plugin of Rustation's GL renderer to Beetle PSX.