Skip to content

3D graphics rendering system for FPGA, the project contains hardware rasterizer, software geometry engine, and application middleware.

License

Notifications You must be signed in to change notification settings

Kenji-Ishimaru/polyphony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Polyphony: 3D Graphics Rendering System

Overview

Polyphony is a 3D graphics rendering system. Rasterizer is written in Verilog, and Geometry Engine is written in C.

Polyphony rasterizer internal block

  • Vendor-independent RTL design.
  • Interface: AXI4
  • Tested on FPGA boards.
  • GLES API is partially implemented.
  • Baremetal demo applications.

FPGA Board

Polyphony is implemented and tested on Zedboard.

zedboard block

Verilog RTL Simulation

Tested Environment

OS: CentOS7.8

Verilog Simulator: Icarus Verilog version 11.0

Test Scenarios

simple triangle rendering

cd sim_work
../bin/run_iv.sh ../scenario/3d/simple_triangle.v 

After finishing the simulation, VGA rendering result(result.bmp) will be generated.

simulation result

simple texture-mapped triangle rendering

cd sim_work
../bin/run_iv.sh ../scenario/3d/simple_triangle_tex.v 

After finishing the simulation, VGA rendering result(result.bmp) will be generated.

simulation result

Running the demo on FPGA board

see ZEDBOARD.md

Demo applications

moving lights

moving lights

cook-torrance shading model

cook-torrance

texture mapping

texture

skinning

skinning

anaglyph

skinning

License

This project is licensed under the MIT License - see the LICENSE file for details

3D graphics Library Header Files

This design utilizes GL, GLES, and GLU header files below.

  • GL
    • gl.h
    • glext.h
  • GLES
    • gl.h
    • glext.h
  • GLU
    • glu.h

About

3D graphics rendering system for FPGA, the project contains hardware rasterizer, software geometry engine, and application middleware.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published