nesdev.com
http://forums.nesdev.com/

Video -- How Toy Story's 3D was programmed
http://forums.nesdev.com/viewtopic.php?f=23&t=16491
Page 1 of 1

Author:  Holt [ Wed Sep 13, 2017 4:00 am ]
Post subject:  Video -- How Toy Story's 3D was programmed

The lead programmer for Toy Story for Mega Drive / Genesis talks about how he programmed its 3D.

Thought this might interest people here. :-)

https://www.youtube.com/watch?v=IhMMK3QLxSM

Author:  tokumaru [ Wed Sep 13, 2017 4:27 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

It's a little disappointing how he talks only about texture scaling, while raycasting is a much broader subject. I guess that the other aspects aren't as interesting as the drawing optimizations he showed, so the general retro gaming public would get bored quickly.

Anyway, I think Wolfenstein 3D also had code for scaling textures to each possible wall height, but it was generated dynamically instead of loaded from disk.

Author:  psycopathicteen [ Sat Sep 16, 2017 7:40 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

I wonder if he'll make a video about the SNES game. It's probably the same thing, except with Mode-7, and I don't think the SNES does the double pixel thing, but it probably does use unrolled loops.

Author:  tokumaru [ Sat Sep 16, 2017 9:20 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

From looking at screenshots it definitely looks like the SNES version uses 2-pixel columns too. Why wouldn't it? I doubt the SNES has the CPU power to process twice as many columns as the Genesis does. Every port of Doom and Wolfenstein 3D on Sega and Nintendo consoles do this too.

Author:  tepples [ Sat Sep 16, 2017 9:37 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

The Genesis uses packed pixels, where a byte represents two pixels side by side. Most S-PPU background modes, on the other hand, use planar pixels. A 2-pixel column is 2 bits out of each of 2, 4, or 8 bytes. The packed mode on the S-PPU is mode 7, and pixel doubling using the scaling feature would work better than trying to actually write a pair of distinct pixels.

Author:  psycopathicteen [ Sat Sep 16, 2017 9:55 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

It would be harder on the SNES because I think this game draws pixels vertically (increment by 8), and doing 2 side by side pixels would be hard.

Author:  tokumaru [ Sat Sep 16, 2017 9:59 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

Regardless of whether plotting repeated pixels is faster, casting half as many rays and scaling half as many texture slices always will be.

Author:  psycopathicteen [ Sat Sep 16, 2017 10:10 am ]
Post subject:  Re: Video -- How Toy Story's 3D was programmed

I thought about it a little more. It probably does 2 pixels wide, and it rotates the Mode-7 BG by 90 degrees.

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/