"Impossible" Realtime Shadows on N64 Hardware
Vložit
- čas přidán 5. 09. 2024
- Here are a few lighting techniques I developed that run on native N64 hardware at 640x480 resolution and high frame rates. I simulate per pixel lighting by controlling texture coordinates and a texture of a lit plane. I render the square shadow by placing rectangle where the shadow should be. The shadow cast on the monkey is done using a variant of shadow volumes and the monkey casts shadows on the ground by variation on shadow maps.
You can download the ROM here
github.com/lam...
Next is ray tracing on an SNES!
Well... Actually...
czcams.com/video/VeFF344NbZ4/video.html
Already happened 🤣
Well, I guess the magnavox odyssey technically has ray tracing..
@@hugothepinkcat Woah, my mind is blown
@@hugothepinkcat Now try without any enhancement chips.
This is pure sorcery! Give this man a game idea ... I'll support it 🍀💰
@lucid you could speed it up quite a bit just by knocking the resolution down to 320x240, decreasing fillrate times
@@rovertronic That wouldn't matter, read his discription, it's an animated texture.
@@menmouzumaki7951 The heaviest part seems to be the monkey shadow. Neat demo but a handful of irregular shaped objects would probably bring it to a crawl, but a stylized game where maybe only the player character was a complex shape and everything else cast squares might perform playable. And it's not like boxy characters would be incredibly out of place on an N64. Lowering the resolution of the shadow map might help with speeding up irregular shapes, which lowering the framebuffer resolution would help to allow getting away with, and just lightening up other time taken for rendering in general.
This is art, I cant even imagine rendering shadows so smoothly on a 90s console
Never expected to see a Suzanne rendered on an N64
The bowling screen screen when you get a strike.
Nice, please upload more of your work and projects :)
even an n64 has better shadows than garrys mod
This is so freaking cool thank you!
Doom 3 Stencil shadows are one of the coolest graphics effects for me. This is insane running on an n64! I wonder if the program ran at 240p like other n64 games, we would have a massive performance increase.
But can the monkey's shadow volume cast shadows upon environmental geometry and/or NPC's?
As far as I'm aware, no.
@@ppmguire correct. Complex shadows can only be cast on flat surfaces. Simple shadows can be cast on complex objects.
Does this use the RCP for accellerating calculations? Also, what lighting model specifically does this demo use? Great video :)
based on his description, it's not a lighting calculation, it's just an animated shadow texture.
@@menmouzumaki7951 I didn't even realize until looking at this while thing a little closer. It's just UV scaling and offsetting based on a projection vector/matrix, that's genious.
@@KitsuneAlex my only gripe is that calling it "realtime" is true in the sense that the animation runs in realtime, but it's not true the sense that it's not actually a shadow being rendered, but a clever way to handle something along those lines.
@@KitsuneAlex Given that the N64's shadows were typically handled by slightly transparent geometry, rather than real shadows.
Dudes out here unblurring the 64! I'm impressed. Wish the youtube compression wasn't trying to undo all his hard work tho...
You really are doing the Lord's work
i don't think it was so much impossible just impossible to use consistently in real time. A bigger landscape and it would probably eat memory.
Yep. It would be interesting to see more objects in the scene, more light sources and see the performance.
But still, it looks cool
Did All-Star Baseball 2000 also had dynamic shadows?
Yes but they did it by drawing a flat version of the players on the ground. It only works on flat surfaces. Those shadows would not work on complicated surfaces
Still looks better than any recent Nintendo games.
Excellent wofk!
crazy looking
Very nice work!
it seems that the n64 is a lot more powerful than we made it out to be
its also clever techniques!
@@kitsunekaze93 yes this is true, but i think my point still stands
MMM so a projector like in unity!
You can probably Cast complex object by rendering them in a texture buffer like Mario kart screen showing the race. That's how some mobile game on low end fake it,
man you are amazing ! this is great
i mean if you add it to a platformer game of the era it would kinda be considering the framerate lag on this. but probably also possible to do some insane optimization to alleviate the slow framerate jitter.
suzanne my beloved
This video goes hard, feel free to screenshot.
gorgeous
amazing 😍😍😍
Turok 2 had stencil volume shadows. :'3c
b l e n d e r m o n k e y
How can this guy even do this
This reminds me of Doom 3
Great 👍
Raytraced shadows when? Jk :P Nice work!
Ah, Project Reality.
Can you try this in super Mario 64
not related but why does your gb64 emulator run in 480i instead of 240p?
I wanted the game content to fill as much of the screen as possible. At 240p scaling the 160x144 screen by 1.5 gives 240x216 wich fits well on the screen but scaling by 1.5 means that some pixels are doubled in height and others remain the same. Doing 480i means that I can scale the screen by 2 so it scales cleaner. I may make that a setting oneday so the player can choose what tradeoffs they want.
Sorcery!
I'm curious, you using a custom made engine? Or the blender game engine?
This is an n64 and blender is too complex for an n64, it uses PBR for lighting for example. This is custom (even if it uses the blender monkey model)
Also I love your videos
Since when was Blender a game engine??
@@pacomatic9833 you used to be able to make games within blender
@@pacomatic9833 for a long time, before 2.8 released.
Let us know when you get it to work on goldeneye
Considering goldeneyes existing frame rate issues, and how the shadows here are using multiple methods to simulate a cascading shadow on top of the monkey and ground, I don't think this is a system you could just add in to other titles. You'll have better results using reshade to do screen space shadows on an emulated version of the xbla one.
@@dan_loeb That was wonderfully boring, thanks
@@eyedunno8462 That was like two sentences.
didnt conkers bad fur day use this effect?
Ok ship doom 3 on n64 now
Didn't Conker's bad fur day have real time shadows?
Yes it did. Conker also used realime water reflections during gameplay.
Also, Banjo -Tooie and Jet Force Gemini uses realtime shadows for all playable characters.
How come the figurative emphasis on _"Impossible?"_
Well, it obviously isn't impossible but no game, as far as I know, used a technique until the next console generation and typically relied on a hardware feature not available to the N64
@@james.lambert Next console generation? Meaning the GameCube?
@@MultiRobotnik No that was 2 generations later. Search the gamesphere on YT. It was featured on Drake and Josh.
@@james.lambert Didnt conkers bad fur day use it?
@@realrunnow Conker only used *shadow mapping* which is not quite the same as the *shadow volume* (plus shadow map cast by the monkey head) approach used in this demo.
Your description says that you're simulating lighting by controlling texture coordinates and a texture of a lit plane.
Which means this isn't even "realtime shadows" it's just an animated texture.
But the hardware doesn't know the difference, it still has to calculate the same math even if it renders the shadow in a different method.
Rtx on
dude. you draw it. it appears. where do you get this confused
With only 20 polygons on screen, this is a useless demo.
Conker did have realtime shadow for the main character didnt it? And some other games too.
So this video is definitely fake then.
Like you wrote in the title, it's impossible to do realtime shadows on the N64, thus this video is fake and the title is clickbait.
Maybe rethink your choice of words for videos yeah?
That's why impossible is in quotes
Those read, listen to / bugged / eavesdrop / overheared / tapped, watched, spied, copied and steal many of my ideas (=inventions) initiated by me:
+ open, transparent 360° sunlight Buildings, construction methods, architectures, designs, concepts;
+ Step-floor / -storey / -level / -tier pyramid (e.g., as a residential building);
+ 360° stepped floors / storey / level / tier buildings (constructions, architectures, construction methods, designs, concepts, 2D, 3D, models);
+ 3D 360° environment (surround), volume, space (room) audio / sound;
+ 360° environment (surround), volume, room screens (displays), monitors, TVs;
+ Screens (displays), monitors, TVs without backlighting;
+ many things with magnets like Micro-OLED;
+ 360° screens, monitors, TVs, panels, glass;
+ curved screens, monitors, TVs, panels, glass;
+ 360° reflections and light digital: "ENB", "Ray-Tracing" / "RTX", “Lumen illumination” and whatever renaming!
+ Short Throw Projectors;
+ dark backgrounds / themes / skins for windows, browser windows, internet sites, programs / apps, etc.;
+ fanless, passive cooling; +thermal pads; + Water cooling (unwanted, because it conducts electricity) and liquid cooling (wanted) for the computer and personal computer / PC application area!
- I am not the inventor of refrigeration by nitrogen, instant- / blast-freeze / -freezing;
+ 360° open, transparent PC cases;
+ 360° Sphere, Ball as a Wheel (2D, 3D) “Omniwheel” / “Omni-Wheel”;
+ From a standing position / standing a 360° turn / rotation in any direction on all objects, including logically and of course vehicles, transporters, robots of all kinds;
+ Flying objects, planes that take off and land vertically, for example by hot air, example fighter jet;
+ skyscraper up to the weightlessness of space ("space scraper") - "mega construction";
+ LED lights (at least its implementation and intended use outside of tv and pc-monitor); RGB LED “Nanoleaf”, etc.
+ and much more!
+ I'm not the inventor of VR, but of "AR", AR glass, AR glasses;
It was only later that I realized that they derived a lot from my ideas (=inventions), a lot came about that has to do with color and light, through me as an initiator, booster / catalyst, e.g., through my idea, invention of the Screens without a backlight and without a built-in / integrated backlight! It is no coincidence that only afterwards, after I initiated this, they built, built and are building those inventions thanks to my impetus! They sell my ideas (inventions) as theirs! They are not the inventors, but the first technical implementers of my ideas (=inventions)! And those are not the inventors, but the thieves of my ideas (=inventions) initiated by me, because those act as if I wasn't the first hand and the first domino, and they take unjustly, undeservedly a lot of money, stolen money (blood money), recognitions, awards, certificates, fame and history, they boast of my laurels / merits!
Before me they all were stucked at LCD, Plasma TV and less lights!
I have made a deep impact in evolution!
Those manipulate, sabotage, falsify, distort images, paintings, digitized and real, animations, videos, films, also composed of many images, even the publication dates of mine, others and their posts, images, videos, etc.!
You have to understand, those can distort everything that can be heard and seen in real life and digitally!
They block and delete my pictures, videos, posts, comments, comments-answers and answers!
They are poisoning and murdering the world with fake diseases, treatments, "vaccinations"/ "vaccines" and injections by syringe!
Now they also make it out as if they haven't been ripping off, cheating, enslaving, murdering other countries with the money currency, money exchange by even -99% for more than two centuries! And as if I'm not the first to disclose that and more! As if I didn't disclose and initiate > 1.00 Ruble (₽) = 1.00 asian Yen (¥) = 1.00 Euro (€) = 1.00 Dollar ($) = any (X) any country < years ago!
Each and every non-civilian you hear and see on TV is involved! You can hear and see their > blue blue blue
Uh-huh.
Sure.
Not a scam.
Not..
at..
all..
R/madlads
If / When you have money, health or "natural" catastrophe / disaster problems or if / when you are somehow affected by traffic accidents, traffic jams at some point, somewhen, anytime, somewhere, anywhere, then think of me, share my posts and my pages!
not too impressive to me, the n64 wasn't a weak console. we probably would have had things that looked like this on the n64 if it was easier to develop for.