3D Graphics OpenGL V3
Description
Been a while, eh? My goal for this project was to build a 3D graphics engine in scratch in the same way that it is done in OpenGL, a standard for 3D graphics. This meant doing things like matrix math, z-buffers, and 4D homogeneous coordinates - things that normally aren't used for 3D scratch projects. Most 3D scratch projects (https://scratch.mit.edu/projects/118602500/ for example) use the painter's algorithm to draw their scenes (see https://en.wikipedia.org/wiki/Painter%27s_algorithm), drawing polygons one at a time, from back to front. Because of it's speed, the painter's algorithm is the best way to do 3D for scratch, but there are limitations (see the wiki article). Because of that, real 3D graphics programs instead rasterize polygons into individual pixels, and draw the scene pixel by pixel. This allows for textures, smooth shading, intersections, and other features that are hard to do when drawing triangle by triangle. Unfortunately, pixel based drawing is very slow in scratch. Many computers use the GPU to speed up the whole process, hardware that scratch can't utilize. If you're interested, here's some more info on OpenGL and 3D computer graphics: https://www.scratchapixel.com/lessons/3d-basic-rendering/rasterization-practical-implementation/overview-rasterization-algorithm https://learnopengl.com https://www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview Credits: https://opengameart.org/content/urban-skyboxes https://sketchfab.com/3d-models/pixel-low-poly-spaceship-eaad1ae4bf6a43fd9f3a80400dacbbfd
Instructions
- try turbowarp: https://turbowarp.org/560149534 - WASDQE to move & arrow keys to turn - Z to toggle skybox - C to toggle metallic material that reflects the skybox - X to switch between models. A number of comments noted how the monkey looks creepy (I agree), so I added a spaceship too. If you want to import your own 3D model, texture, or skybox, see the import sprite's costume. The current model is a lower-poly, textured version I made of Suzanne from Blender.
Project Details
- Visibility
- Visible
- Comments
- Enabled
More Cool Projects
Beat Up X Button
by crazycrazybaby17
ONE NIGHT AT BONNIES
by sonicfan_2
Interactive Ami Onuki But something is wrong
by wiggler174
Leon Eating A Meat
by thiagobri
windows xp virus simulator
by kaiswim1
γγ«γγ
by NS2140012
Among UsγγγγγΌ γ«γ¦γ³γη΄ ζ:Among Us Hide and Seek Counting Material
by omocra
Colourblocks Band Added two new characters
by ilovescratch1234500
Minecraft Platformer! (Mobile Friendly) #games
by SIGMABRO1
Sprunki BUT OCS remix
by outfit7ymuchomas
Among Us freeze tag/γ’γ’γ³γ°γ’γΉγγγγγ«γͺγ³γ©γ€γ³
by pocopocojohn
friday night funkin ruv vector trace battle
by GABRIELHABIB
jsab - level editor Ver . 2.1.0 Ξ²
by osatoudaisukich
Numberblocks Band Retro 301-310 (Band Version)
by Mecurn
UncannyBlocks Band (Super Different)
by supersonicmikhail720
γγ«γγ£γ~Nightmare 13th~第δΌζΎε£±θ©±γθθ¦ηγ γ
by tyomuko22
3D Minecraft _ V1.7
by MrGregDog
Performance monitor
by iab09
Orange OS 7
by yaveenSTEM
SAL characters beat up S!1!1!1
by fan_of_griffpatch13
Numberblocks Band 1-30 remix
by uiuhyui8jhui8h
alex jumpstart band meme happy birthday 2024 remix
by M_ayr-
Yakka dee!
by HEMPRIMP
bren319's Finnish Alphabet Lore
by Maks2010scratch