Competition #03 - 3D Point Cloud PSX Demo
Username: Emvivre
Project Title: 3D Point Cloud PSX Demo
Time to Complete: 1 mounth
SDK: Psy-Q
Genre: Demo
Latest Release: 31 May 2014
In Development: Yes
Initial Release Date: 31 May 2014
Last Date Updated: 31 May 2014
Controller: No
Players: 0
Memory Card: None
Languages: English / French
Burn and Play: Yes
Executable Included: Yes
Source Included: Yes
Hello everybody, This is my entry into the PSXDEV Codeblast '14 competition. The demo is named 3D Point Cloud PSX because it contains a 3D point cloud viewer. But this not all, here the technical features includes in the demo:
- dynamic lighting
- gouraud shading
- procedural 3D object generation
- vertex shading
- lag moving effect
- 3D point cloud viewer
- two xa music
The demo run well both in emulators (epsxe, no$cash, ...), or with a playstation (except during the sphere part where some glitches appeared on a real playstation).
Here the contains of the demo:
The demo start by recalling what it is meaning for: an entry for the PSXDEV Codeblast '14 competition:
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/intro.png)
Then a cube with a laggy effect appeared:
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/cube.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/cube_traine.png)
Next a dynamical lighting sphere is displayed, with a collection of effets working on colors of vertices of the sphere.
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/sphere_0.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/sphere_2.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/sphere_3.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/sphere_4.png)
Follow that, a 3D point cloud composed of 40,000 vertices is displayed.
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/point_cloud_0.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/point_cloud_1.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/point_cloud_2.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/point_cloud_3.png)
The demo end by the credits showing a scrolling text with a backgound image
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/credits_0.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/credits_1.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/credits_2.png)
![Image](http://akasa.urdn.com.ua/~emvivre/ps1demo/credits_3.png)
The credits text is the folllowing:
The 3D point cloud contains exacly
40k vertices! This latter was
obtained using a real 3D scanner.
All assets of demo except the XA
music are included in the psx-exe!
Yes, the point cloud is included in
the psx-exe too. Without any
specifical optimization, bigger
point cloud could be shown.
This demo was really short. Indeed,
I discovered the sdk very late (at
the end of april) then I started to
develop tools and small apps to test
the little boy machine
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
of this demo is provided with this
demo. Of course, the demo does not
use any \"buggy\" implementation of
malloc[23]() that comes from Sony.
I hope learn more about the psx,
and doing funny projects like reverse
engineering, game enhancement, ...
So if you are interesting in doing
game translation, or any amazing
project involving psx please pm me.
Thanks to psxdev community, and
all psxdev members, for keeping
interesting information about
the psx, the forum, tutorials,...
You can join us in the psxdev irc
channel on the
EFNET server(irc.eversible.com/6667)
channel: #psxdev
@Stamba: merci de m'avoir transmis
la musique dans les temps
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
!* S.T.U-Emvivre
*************************************
* CREDITS *
* *
* Coder: !* S.T.U-Emvivre *
* GFX: !* S.T.U-Vash *
* Music 0: Stamba *
* Music 1: !* S.T.U-Vash *
*************************************
The point cloud viewer is the one of the most interesting part of the demo, because it show that the playstation machine has the full capacity (I recall, CPU at 33.8 Mhz with a vector coprocessor, 2 MB of RAM, 1 MB of VRAM) to display a point cloud relativly high to display something with reasonable framerate. I use the TILE_1 structure to represent a vertex of the point cloud. Thus to the GPU point of view, the draw framebuffer is fill with only one dot without any polygon filling process required because no polygons are used!
Here the link of the iso http://akasa.urdn.com.ua/~emvivre/ps1demo/DEMO_FUL.ISO
Here the link of the source code http://akasa.urdn.com.ua/~emvivre/ps1demo/src.tar.bz2
Here the link of the video of the demo record using the pcsx emulator http://akasa.urdn.com.ua/~emvivre/ps1demo/demo.mkv
In additional to the source code of the demo, I provide source code of some tools:
- psxlink : link all *.obj objects contained in the same folder together
- psxrun : run the MAIN.EXE psx-exe with epsxe
- waitfile : wait the creation of a specific file in the file system. In the compilation pipeline, there is race condition problem. The linker end the execution, but the output executable file (.cpe) file system