I was wondering of 16 bit Could be bether than 32 Bit as you more than half your Power consumption(in theory). The IEEE 16 (Half precision) 1 sign 5 exponent 10 Mantissa But you don't nead Range for Games so: 1 sign 4 exponent 11 Mantissa You can now convert into Verry Precise 8-bit int
Totally correct. The whole point of a GPU is to specialize on graphical operations. Do not waste logic on a general purpose CPU. Implement the algorithms as directly as possible in hardware.
Been following since your first GPU Video. Really cool stuff! I love the progress you've been making and showing the trials and errors. It is a genuine reminder to just push into something and try and try and see how it works. As well as having a general idea of some key milestones! Thanks for the video and github link! Keep going! Youre a star!
Take this from another guy who was really interested in electronics and computers since a very young age but failed because of lack of resources. If you are really 13, you are a prodigy.
Very interesting video, it would be interesting to see a physical implementation of this. Also, you would likely need to expand on it's processing capabilities if you want to optimize ray-tracing at all.
Hi AstroSam, I never expected you to see this video but you were actually one of my inspirations to make this. Your content is great, and I really enjoyed your 16-bit CPU video :D
Astrosam made a cpu, you made a gpu, and they are both 16bits, I still havent started on my project so i currently dont know how they work, but i mean, combining them might be a good idea
parallelism on this would be neat, like maybe have a bunch of units which can operate on a rectangular subset of the screen, figure out where the line intersects its region, draws that, and then the units move thru all the subdivided regions until the whole frame is drawn
Cool! Maybe merge this with a CPU you made like jdh? Also, it might be better for channel growth if the videos would be longer. Just throwing out ideas into the world...
You can actuary set all the clock speeds to 1 tick and lower the instruction clock to 250 tick's and it' still works the same but it's 25 times faster. Edit: you can also remove the padding between the points to double the speed to 50 times the original
Hey turtle would you mind sharing which sources you used to learn how to build your GPU projects? Some books or papers for example. I want to learn how to build a GPU too so it would be great.
To learn electronics and how computers work, I watched a lot of Ben Eater's videos and he explains topics very well. My first ever graphics card, the Turtle Card 100X was largely based on Ben Eater's own GPU series. As my knowledge increased, I was able to branch off and do more complex graphics cards that could do things like play videos and 3D render objects. What I would suggest is to just watch Ben Eater's videos and try out some of his projects until you can branch off into doing your own stuff👍
Wow... You made a lot of functioning things at only 13 year old ! And i almost feel like i am worthless i tried one time doing a homemade graphics card and failed miserably. So yeah i feel like i serve nothing and i am not good at what i love ):
I have a question, what's the software that your using to design the gpu? and, what do I have to learn to do these types of stuff? I subbed, and liked btw keep making content like this.
Thanks! I used Logisim to make the graphics card, and I learned this by watching a lot of Ben Eater videos and building some of his projects until I could understand how they work and make my own.
Interesting. Im nearly 21 and nearly finished with apprentice. And tou can pull of 3D rendering at 13 years old. Impressive. What Logic Programm do you use in this video? Im currently designing a console with nes concept based graphics.
I wonder if you could create a shader processor instead of ray tracer, hear me out... if you created a tool that can apply some form of software controled update to each pixel, and then just... doubled it quadrupled it etc... boom paralellism... You may be able to even do it in some small amount of supplemental memory for the 'core' but that would be fun... ehem "fun" In other topics there was a video on yt about how some hardware did 3d (it was sega, I think), it's talked about the pipeline being a matrix math accelerator some bits and bobs to store the output and wether or not to run some post calculations against it... and boom it did 3d math in a pipeline much like your line algorithm. I'll search for it here for a bit and if I find it I'll ping ya, OR someone else can pipe in if they think they know the video. In any event great video!, love to see more keep doing it.
oh i think i remember that, i forget the channel but it had some house shaped thing with a square and triangle and the guy worked on sega games or something. it was a big multi part instruction to do a bunch of math in parallel, and then each instruction could tell it what register to do that each time and get a lot done in parallel
The problem with a ray tracer is that we repeat many calculations. For more "game-like" scenes it would make sense to place a quad-tree on the screen ( similar to hierarchical z-buffer) and then trace pyramids. If the scene is only composed of meshes and spheres ( for physics collision algorithm ) you can code all collisions. Then split up recursively. Even works with reflective meshes ( smooth subdivision of a water surface for example) and spheres. Does not work with bump maps or fabrics. So if you want to re-invent Blender cycles .. I think cycles is pretty parallel. Again for games we want the shader to be fast with small triangles ( retro lowres 320x240 ). Though quadruple=2x2 pixel would fit well with the phrases in the Atari Jaguar. Only a small number of pixels is wasted. Generally I hope for a debugged Atari-Jaguar. For example the screen read-out circuit could read two lines (the 2x2 pixels) in the side borders into a buffer. Then send this two lines to the screen and release the unified memory to the shader processor. Or GBA like render into the 2 line buffer in parallel to share some texture fetches. I think that modern graphic cards draw 2x2 pixels at once. A fixed function pixel shader already has z-buffer, texture mapping, and shading working in parallel even if it only shades one pixel per cycle ( N64 ). The transformation stage is already quite parallel. Multiplication is more than 16 Adds in parallel. Then inner product is 3 MULs at least. With homogenous coordinates you have 4x4 matrix multiplication. This needs a lot of transistors all working in parallel. The critical path says that for optimal utilization you want like a 3 stage pipeline for the matrix multiplication alone. One vertex transformed per cycle is pretty dope, I think. Then you just need the memory bandwidth to read the scene graph and store the transformed vertices.
@@morgan0 Oh yeah, you might be thinking of SuperRT, the Super Nintendo Ray Tracer project. Although that's actually quite relevant to what is going on here too I would imagine.
10 месяцев назад
LETS GO, I thought you entirely stopped on making a gpu
Some day, everyone will be using Turtlecards in their computers Seriously though, I can totally see you getting to the point where you make a graphics card that supports OpenGL and/or Vulcan with a Linux driver to go along with it so we can game on a Turtlecard