element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents 3D Object Rendering Using an FPGA -- Episode 558
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: tariq.ahmad
  • Date Created: 7 Jul 2022 2:04 PM Date Created
  • Last Updated Last Updated: 8 Jul 2022 7:24 AM
  • Views 134596 views
  • Likes 8 likes
  • Comments 15 comments

3D Object Rendering Using an FPGA -- Episode 558

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Rendering of 3D models is a computationally expensive task and often slow. With hardware customization and reprogrammable flexibility using FPGAs, highest performance can be achieved. So we are going to build customized hardware on a FPGA Cyclone IV E (DE0 nano board) to render 3D objects into images, and finally, display the rendered images on a monitor over VGA. I have used Verilog for the hardware implementation so that the code can be easily compiled for most FPGAs out there. Happy Rendering!

 

Supplemental Material:

  • Triangle rasterization
  • Download Quartus Prime Lite
  • Rotation Matrix
  • 558_Resources.zip

Bill of Material:

Product Name Manufacturer Quantity Buy Kit
Development Kit, Altera Cyclone IV FPGA , DE0-Nano, 2x GPIO Headers, 32MB SDRAM, Accelerometer TERASIC TECHNOLOGIES 1 Buy Now
 

Additional Parts:

Wire Gauge:28AWG

element14 presents

element14 presents  |  About Surbika Rastogi |  Project Videos

  • Rasterization
  • fpga
  • rendering
  • surbika
  • element14 presents
  • verilog
  • friday_release
  • vlsi
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • surbhika
    surbhika over 3 years ago in reply to shabaz +1
    shabaz i am keen to get the complete results too and also going through few boards which facilitates easy integration with micro-controllers... may be that will be a better and optimised step forward.
  • surbhika
    surbhika over 3 years ago in reply to beacon_dave +1
    There was no way to fit more than few triangles in this design. Though there are few little things in terms of floating point representation etc.which can be optimized in the code (which i realized afterwards…
  • surbhika
    surbhika over 3 years ago in reply to cstanton +1
    Indeed. Limited resources lead to optimized designs!
Parents
  • shabaz
    shabaz over 3 years ago

    Great project : )

    cstanton any way Surbhika can get a more powerful FPGA board from element14? This project really needs it, and I'm sure lots of people will learn loads from seeing the results!

    Perhaps a FPGA manufacturer would be interested to contribute?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • cstanton
    cstanton over 3 years ago in reply to shabaz

    "any way Surbhika can get a more powerful FPGA board from element14?"

    I love this idea (I was kinda smitten when I saw the project itself to be honest). I'm sure we have something, do you think the challenge of working with limited resources works well? Or is there a particular board that you think it could go all the way on? Slight smile

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 3 years ago in reply to cstanton

    Oh thats awesome! Glad it wasn't just me!

    Regarding the board and particular FPGA, I'd be guessing, unfortunately. However, perhaps michaelkellett has some suggestions, I think think this topic needs his knowledge here!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • surbhika
    surbhika over 3 years ago in reply to cstanton

    Indeed. Limited resources lead to optimized designs!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 3 years ago in reply to shabaz

    Hello Shabaz,

    My first thought was the Digilent Nexys board but it's out of stock.

    Second thought was Aliexpress, I've bought several FPGA dev boards from there and so far they have all worked !

    Not tried this one but it would be a step up from the Cyclone IV.

    https://www.aliexpress.com/item/32691533741.html?spm=a2g0o.productlist.0.0.24de5b711gu7rM&algo_pvid=d93627fe-f626-4fc5-9772-52be7283b489&algo_exp_id=d93627fe-f626-4fc5-9772-52be7283b489-0&pdp_ext_f=%7B%22sku_id%22%3A%2266513301682%22%7D&pdp_npi=2%40dis%21GBP%21%2177.6%21%21%21%21%21%402100bde316575280936974536e0dd8%2166513301682%21sea

    The free alternative is an unopened (and therefor unused) Arty. (bought for  a project a long time ago by me, won't ever get used now.)

    Both boards have Artix 35 chips (not ideal for this, an Artix 100 as fitted to the Nexys would be better).

    The ALiexpress board has SDRAM, slower but easier to work with, the Arty has much faster DDR3 RAM and more of it, the downside is you need to spend some time wrestling with the MIG and Xilinx's DDRAM interface.

    So, if E14 can arrange to get it from me to surbhika I'm ahppy to post it to them in the UK.

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • cstanton
    cstanton over 3 years ago in reply to michaelkellett

    It's easier if the product's in stock at one of our regional stores, www.newark.com, www.farnell.com, https://sg.element14.com / https://au.element14.com / https://cn.element14.com etc.

    Maybe there's something in the Avnet Boards Community range of products?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 3 years ago in reply to cstanton

    You have the Arty boards in stock:

    Farnell: 2775205 (£117)

    or if you were feeling very generous:

    the Farnell 2760616 (£2202)

    would make a pretty good GPU !

    It has on board HDMI and the FPGA has 840 DSP slices and 2Mbytes of on chip block RAM.

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • surbhika
    surbhika over 3 years ago in reply to michaelkellett

    michaelkellett i was rather pondering to convert it into a hardware accelerated configuration using PYNQ with board such as Farnell 2913033 .

    Do you think it would be a good idea?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 3 years ago in reply to surbhika

    That board has a Zynq processor which has more on chip logic than the Arty board. It costs a bit more but the price per LUT is probably lower.

    If its a good board for you depends very much on what you are trying to do.

    The Pynq process is a lot further abstracted from the hardware than using Verilog. The Zynq is a Linux application processor with an FPGA bolted on. (I know you can run other software on it but in reality you can only go where the support is.) If you look at the questions on forums and support sites about Zynq boards you'll find a very large proportion are about Linux and how to work around the enormously complex Vivado/Vitis toolset.

    If you want to learn how to make a good GPU, or how to efficiently translate complex maths alogithms into hardware, then stick with Verilog or VHDL, keep away from the Zynq and stick with pure FPGAs.

    As DAB woud say, just my 2c worth.

    Other people will have different opinions.

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • michaelkellett
    michaelkellett over 3 years ago in reply to surbhika

    That board has a Zynq processor which has more on chip logic than the Arty board. It costs a bit more but the price per LUT is probably lower.

    If its a good board for you depends very much on what you are trying to do.

    The Pynq process is a lot further abstracted from the hardware than using Verilog. The Zynq is a Linux application processor with an FPGA bolted on. (I know you can run other software on it but in reality you can only go where the support is.) If you look at the questions on forums and support sites about Zynq boards you'll find a very large proportion are about Linux and how to work around the enormously complex Vivado/Vitis toolset.

    If you want to learn how to make a good GPU, or how to efficiently translate complex maths alogithms into hardware, then stick with Verilog or VHDL, keep away from the Zynq and stick with pure FPGAs.

    As DAB woud say, just my 2c worth.

    Other people will have different opinions.

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • shabaz
    shabaz over 3 years ago in reply to michaelkellett

    Also, I think the project is already more interesting without the Zync processor, and harder for people to replicate or port across if they don't have the same device.

    Also, surbhika wondering, since GPUs are normally very parallel, if (say) FPGA boards eventually become a limit for the design you're implementing, perhaps the architecture can be paralleled across additional FPGA boards in future. That could be an extremely interesting element14 presents video too! 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube