3D Object Rendering Using an FPGA

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ก.ค. 2024
  • Rendering 3D models is an often slow and computationally expensive task. However, with the hardware customization and reprogrammable flexibility of FPGAs, this performance can be improved.
    With that in mind, Surbhika decided to build customized hardware on an FPGA to render 3D objects into images and display those rendered images on a monitor over VGA. She's used Verilog for the hardware implementation so that the code can be easily compiled for most FPGAs on the market. Happy rendering! bit.ly/3RhV601
    Engage with the element14 presents team on the element14 Community - suggest builds, find project files and behind the scenes video: bit.ly/3tmdewv
    Visit the element14 Community for more great activities and free hardware: bit.ly/3q6YMpu
    Tech Spotlights: bit.ly/3qPrDhM
    RoadTest and Reviews: bit.ly/3pV5Bux
    Project14: bit.ly/31wbnJY
    #0:00 Welcome to element14 presents
    #0:21 Overview
    #2:11 3D Object Rendering
    #6:14 The Code
    #8:22 Testing the 3D Rendering
    #9:45 FPGA Render
    #11:17 Give your Feedback
    #fpga #3drenders #3drendering #verilog
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 57

  • @element14presents
    @element14presents  2 ปีที่แล้ว +16

    We'll hold our hands up and admit for this one, the audio was as good as we could make it with a fan keeping the presenter cool :) Thanks for watching and your patience, turning on closed captions may help your experience with this one!

    • @cheeto4493
      @cheeto4493 2 ปีที่แล้ว

      i assumed wind noise when I saw her hair blowing. Personally, I would have preferred hear some wind noise and less noise cancellation effects.

    • @jonbreen8296
      @jonbreen8296 2 ปีที่แล้ว +1

      I look forward to more videos from this presenter. This was amazing

  • @andywest5773
    @andywest5773 2 ปีที่แล้ว +5

    3D rendering and a DE0-Nano. Now that's my kind of video! Great job on this.

  • @dsdmtom
    @dsdmtom 2 ปีที่แล้ว +8

    Very interesting. I studied computer graphics a few decades ago. This is a great update. Pity the audio was so low quality. It was as if the volume kept fluctuating and also the pitch.

  • @jonbreen8296
    @jonbreen8296 2 ปีที่แล้ว +4

    Element 14 get this wonderful presenter a decent microphone. This is a quality video!

  • @naeads688
    @naeads688 2 ปีที่แล้ว +4

    That was a lot of work! Well done. Way above my technical ability but managed to follow you. And for all of those who are complaining about the accent, use subtitles. its not that hard. Sheesh.

  • @debrajdas8464
    @debrajdas8464 2 ปีที่แล้ว +1

    It's very glad to see your tutorial videos in the element 14 channel , we got a Indian electronics content maker

  • @AjinkyaMahajan
    @AjinkyaMahajan 2 ปีที่แล้ว +3

    Yes, indeed Please explain the VGA Pixel block.
    I will try it on my Virtex 6 board

  • @ohnoitsaninja
    @ohnoitsaninja 2 ปีที่แล้ว +2

    two triangles at 20x20...did I miss something?
    I did a 3D rotating cube on an arduino uno maybe 15yrs ago

  • @ppentertainment2351
    @ppentertainment2351 2 ปีที่แล้ว +2

    Pretty amazing that something like this is indeed possible with an FPGA. Maybe there’s an Extended Ram Shield for this? 😉

  • @1995yashasvi
    @1995yashasvi 2 ปีที่แล้ว +3

    Great insight and technical expertise. Well explained. Kudos !

  • @schiang
    @schiang 2 ปีที่แล้ว +1

    This video is educative and inspiring. It makes me really want to buy a FPGA board and learn how to develop in Verilog. Thanks for your great work!

  • @iwbnwif
    @iwbnwif 2 ปีที่แล้ว +1

    Thank you, great video. I have a DE0 Nano and it is great to see it in this application. I assume the VGA output is TTL levels or is there an external DAC. Would love to see the circuit and IP you used. Thanks 🙂

  • @goodi2k7
    @goodi2k7 2 ปีที่แล้ว +6

    This was surely a lot of work, very impressive.

  • @anitarastogi9454
    @anitarastogi9454 2 ปีที่แล้ว +2

    Great project!!...Very well explained.

  • @ayurrastogi3251
    @ayurrastogi3251 2 ปีที่แล้ว +4

    I'm very fond of graphics. This video gave me good insights about the underlying concepts of rendering.
    Thank you!!

  • @annoorkhan4219
    @annoorkhan4219 4 หลายเดือนก่อน

    Which development board you are using?

  • @tamat
    @tamat 2 ปีที่แล้ว +2

    so the data of the mesh was encoding inside the FPGA? how hard it would be to feed it from a ROM chip? also, you could skip the trigonometry if you also hardcoded the ViewProjection matrix, or directly store the mesh in screen coordinates. Very interesting project.

    • @thepeppertech
      @thepeppertech 2 ปีที่แล้ว +3

      The mesh data is encoded in the ROM implemented in FPGA. If you wish to feed it from external hardware then you will need to implement interfacing part only. The ultimate goal is to pipeline the whole process.

    • @tamat
      @tamat 2 ปีที่แล้ว +2

      ​@@thepeppertech Thanks

  • @prithvivelicheti287
    @prithvivelicheti287 ปีที่แล้ว +1

    Thanks ! Very informative and help5

  • @SandmanDP
    @SandmanDP 2 ปีที่แล้ว +14

    20 by 20 pixels… alright then

  • @jeffberhow
    @jeffberhow ปีที่แล้ว +1

    Very impressive and well presented. Have you tried reaching out to Intel to see if they could provide a more capable FPGA to help continue your project? I'd love to see a follow-up!

  • @AjinkyaMahajan
    @AjinkyaMahajan 2 ปีที่แล้ว +5

    So it is a primitive form of rendering engine ??
    Thanks a lot for sharing.
    Can you also make a video on speech synthesis & recognition on FPGA for understanding the algorithms? Or perhaps a soft core.

    • @AjinkyaMahajan
      @AjinkyaMahajan 2 ปีที่แล้ว +4

      ALSO, another video on FFT implementation of FPGA with detailed explanation
      Thanks
      Cheers ✨✨

  • @oneproductivemusk1pm565
    @oneproductivemusk1pm565 2 ปีที่แล้ว +6

    BAZINGA

  • @hentosama
    @hentosama 2 ปีที่แล้ว +2

    Interesting. :o

  • @HTN-tt3dr
    @HTN-tt3dr ปีที่แล้ว +1

    Bazinga!

  • @stephensu4371
    @stephensu4371 2 ปีที่แล้ว +1

    great, i like fpgas

  • @AjinkyaMahajan
    @AjinkyaMahajan 2 ปีที่แล้ว +4

    One more question,
    1] for SIne and cosine, why do you use Lookup memory in contrast to Cordic Block ?? In fact, the Cordic block would have worked faster.
    2] Is the buffer used, a dual-port memory or just simple registers?

    • @geovani60624
      @geovani60624 2 ปีที่แล้ว +1

      1) I believe it's for performance
      2) I don't know

    • @thepeppertech
      @thepeppertech 2 ปีที่แล้ว +3

      Used LUT because aim was to develop simple and fast hardware. Cordic algorithm is great for higher precision. And the buffer used in this implementation is simply a set of registers.

  • @madhurharikrishnan3003
    @madhurharikrishnan3003 หลายเดือนก่อน

    Cool content 😮

  • @bojarajan04
    @bojarajan04 2 ปีที่แล้ว

    You are beautiful 👌👌😘
    I'm from Tamil Nadu...!!

  • @ik04
    @ik04 2 ปีที่แล้ว +3

    The audio was horrible and difficult to hear clearly. Whatever was done to the equalization and compression did not work.

    • @element14presents
      @element14presents  2 ปีที่แล้ว +1

      It was very warm in the workshop for the presenter, we had to edit out the fan noise in post, it should be better in future :) Thanks for watching!

  • @gower1973
    @gower1973 2 ปีที่แล้ว +3

    Well that was a massive letdown, I expected to see a car model 3D rendered and all you could fit on the fpga was a single triangle? Surely you could of at least done a cube, It’s only eight vertices and twelve triangles but my real question is why do this anyway, GPUs are designed for this.

    • @thepeppertech
      @thepeppertech 2 ปีที่แล้ว +1

      Implementation on FPGA gives two advantages: (1) build customised hardware with performance in direction of ASIC (obviously lesser than that) but more than a general purpose GPU (2) we get to DIY cool concepts and know “behind the scenes” of rendering process.

  • @VidelSSJ2
    @VidelSSJ2 8 หลายเดือนก่อน

    Hi, nice work! Check out my project of rendering 3D solid meshes using FPGA.

  • @shivamsaxena6816
    @shivamsaxena6816 2 ปีที่แล้ว

    Like a typical Indian can say
    Samjh nahi aya but sunkar Achcha laga

  • @sergeyvas123
    @sergeyvas123 2 ปีที่แล้ว +1

    What language is it?

    • @thepeppertech
      @thepeppertech 2 ปีที่แล้ว +2

      VERILOG. It is a widely used Hardware Description Language (HDL) :)

  • @dorhocyn3
    @dorhocyn3 2 ปีที่แล้ว +5

    I grew up in the Washington DC area and am pretty used to accents, but this accent is pretty thick and I have a little bit of a hard time following her

    • @RainerK.
      @RainerK. 2 ปีที่แล้ว

      Imagine a German trying to understand it.

    • @MrBaskins2010
      @MrBaskins2010 2 ปีที่แล้ว +6

      i live in jersey so this was easy listening honestly. the closed captions are 98% accurate

    • @ytubeanon
      @ytubeanon 2 ปีที่แล้ว +7

      you people don't automatically turn on closed captions? I do it without even thinking anymore, this particular video has a dedicated English subtitle file

    • @Hacker-at-Large
      @Hacker-at-Large 2 ปีที่แล้ว +3

      It wasn’t her accent, I think, there was either some clipping, or very aggressive noise reduction. I’m very good with accents, and still had to really concentrate.

    • @andye2005
      @andye2005 2 ปีที่แล้ว +2

      @@Hacker-at-Large Yes there was something very odd going on with the audio, it seemed to get a bit better toward the end, but at the start there are all sorts of weird effects going on. This was very apparent when the mid point DC to Daylight advert came on, the audio quality was way better than the main video.
      The subtitles are good, but anoither tip i.s to slow the playback down slightly that make a big difference is some cases, but here it's the audio quality more than anything else causing the problems.
      Andy

  • @MioCidXXI
    @MioCidXXI 2 ปีที่แล้ว +8

    Audio is terrible.

    • @ytubeanon
      @ytubeanon 2 ปีที่แล้ว +3

      use closed captions

  • @ki4hou
    @ki4hou 2 ปีที่แล้ว +3

    Couldn’t understand a single word. What a mess.

    • @ytubeanon
      @ytubeanon 2 ปีที่แล้ว +7

      use closed captions

  • @fireracerworkshop8251
    @fireracerworkshop8251 ปีที่แล้ว

    BAZINGA