I believe this should have been in the other thread about polygons. This is the DC threadThe character has several layers of hair, I don't know if they are duplicates or different Lods polycout is between 130.000 and 150.000
I believe so too. The Dreamcast spat out Sonic Adventures 2 near the end of it's life cycle. It was a huge improvement over the original. It was 60fps with massive detail for it's time. I am sure the PS2 would never have been able to reproduce that game faithfully.I don't now if it was down to not wanting more arcade games on DC, or not enough development time, but it is a shame we didn't see what was the "pinnacle" of Dreamcast development. Even with Shenmue II, I don't think the depths of DC development had been fully plumbed in such a short retail life.
Thanks again for the info, great stuff. Happy holidays everyone.
I don't now if it was down to not wanting more arcade games on DC, or not enough development time, but it is a shame we didn't see what was the "pinnacle" of Dreamcast development. Even with Shenmue II, I don't think the depths of DC development had been fully plumbed in such a short retail life.
I always had in mind that the sh4 was too weak compared to the powervr series 2 in the DC, whick look awesome (It was such a let down to see a cutdown version, Neon 250, coming to PC instead of the full version)
Many of the assets for Shenmue 2, including complete environments, were produced in 1997 and 1998. They are first gen fare in terms of tools and artist experience. It's particularly apparent in terms of the texturing, where bilinear filtered texture maps with no mip maps shimmer their way across the screen. The engine, however, improved significantly between Shenmue 1 and 2, with greater NPC counts and for the most part the elimination of fps dips when streaming in NPCs.
Isn't the lack of mipmaps in Shenmue usually attributed to the team's arcade roots?
When you're set up for Model 2 and Saturn and are rapidly ramping up asset creation, if you set requirements without considerations for mip-maps then you can't exactly undo that later.
What's so difficult about implementing mip mapping after the fact? The extra memory they take? Generating them? I can't see how either of those things is overly complicated.
Theresa Is only one particular place where am2 implementd mip mapping on Shenmue 2, at the entrance of Man Mo Temple.
Shenmue uses modifer volume's for Ryo's shadow during the day time. NPCs use those flat projected model shadows (like Model 2 fighters). During night, Ryo uses NPC style shadows, but he does produce shadows from up to two light sources.
Only the Xbox version of Shenmue II does shadows from buildings, the DC versions has some prebaked shadows on the ground near buildings. Both adjust lighting as the sun moves.
Shenmue II is the only game I know of to use the DC's normal/bump maps... on three coins. But the base texture on the coins have prebaked shadows and highlights. But at least they tried.
I always wondered how was this type of primitive "bump-mapping" even done on Dreamcast. Anybody knows?I don't remember that. I remember the coin things that you could view on their own, it felt like something a programmer had been exploring and then chucked in as an easter egg. They have pre-baked shadows too, which fuels my suspicion that it was a programmer mucking around with something an artist had already done.
Doesnt seem to respond correctly to the lighting and angle.Tomb Raider IV uses bump/normals, only no the Dreamcast versión.
Is that full screen or split screen? Because 2P versus mode is split screen with (IIRC) no loss of detail, so the real throughput is twice that.virtual on ot 7000 tris per frame @ 60 fps,
As a DC homebrewer, the SH4 does fine. IIRC, I've hit around 4.2 million polygons per second and became GPU limited. I think that code could reach something like 6 million polygons per second if the PVR was faster and had enough memory to store all the polygon data. In my code, I was doing transform, perspective, a single directional light, and ambient; not very advanced, but still useful.I always had in mind that the sh4 was too weak compared to the powervr series 2 in the DC, whick look awesome (It was such a let down to see a cutdown version, Neon 250, coming to PC instead of the full version)
Is that full screen or split screen? Because 2P versus mode is split screen with (IIRC) no loss of detail, so the real throughput is twice that.
As a DC homebrewer, the SH4 does fine. IIRC, I've hit around 4.2 million polygons per second and became GPU limited. I think that code could reach something like 6 million polygons per second if the PVR was faster and had enough memory to store all the polygon data. In my code, I was doing transform, perspective, a single directional light, and ambient; not very advanced, but still useful.
You can actually get close to the theoretical peak FLOP rate of 1.4 GFLOPS inside a loop. FTRV, the vector transform instruction (which multiplies a 4x4 matrix with a 4D vector), can be issued every 4 cycles. With 64-bit moves, you can load and store an entire vector in that time, just barely enough to keep the FPU fed, so it's not just "1.4 GFLOPS until you use up what you have in registers."
You have to use the SH4's SIMD instructions differently than how they would be used on a traditional system since the real heavy lifter is the FTRV instruction. You can, for example, stick your light direction vectors in a matrix, load the vertex normal in a vector registers, and use FTRV and get the intensities for four lights in parallel. Clamp the results to >0, stick the light colors in a matrix, and FTRV the light intensities to get the final RGB results. Asymptotic average would be 16 cycles per vertex, or 4 cycles per light. In this case, clamping >0 would take half the run time... (8 cycles per vertex, 2 per light) Something like a clamp vector or pair instruction would have been really useful.
The SH4 can also normalize vectors pretty fast. I've managed an average of one vector every 8 cycles (a 32 cycle loop that does 4 vectors per iteration).
Speaking of Shenmue and mipmapping, in my experience of seeing how the PVR handles certain scenes, the lack of mipmapping is responsible most of the slow down that occurs. There's actually a bit more mipmapping that what has been mentioned. Xiuying's apartment has mipmapping on the floor, and in Guilin, the foliage is mipmapped. The random floors were probably just a mistake, but the trees and bushes were definitely intentional to get more fillrate out of the PVR.
I don't think Shenmue's lack of mipmaps have anything to do with AM2's arcade games. The Model 2 and 3 both used mipmapping (the Model 3 even used trilinear with detail textures), so AM2 had probably used them more than anyone else at Sega. (Most emulators don't implement mipmaps accurate to original hardware, so expect to see it by looking at emulated footage. If you go looking at recordings of real hardware, (IIRC, this is according to what I've read on the Supermodel emulator forums) the Model 3 only did mipmaps down to 8x8 with some detail bias, so there still may be some aliasing on far textures.) Maybe Shenmue's Saturn origins had an influence, but I think AM2 just preferred having extra/larger textures from the memory saved by not using mipmaps.
I don't really have time to explain how the PVRs normal maps work right now. They have some weirdness to them, but are useable.
Doesnt seem to respond correctly to the lighting and angle.
this demo though if real seems to have better results
Speaking of Shenmue and mipmapping, in my experience of seeing how the PVR handles certain scenes, the lack of mipmapping is responsible most of the slow down that occurs. There's actually a bit more mipmapping that what has been mentioned. Xiuying's apartment has mipmapping on the floor, and in Guilin, the foliage is mipmapped. The random floors were probably just a mistake, but the trees and bushes were definitely intentional to get more fillrate out of the PVR.
I don't think Shenmue's lack of mipmaps have anything to do with AM2's arcade games. The Model 2 and 3 both used mipmapping (the Model 3 even used trilinear with detail textures), so AM2 had probably used them more than anyone else at Sega. (Most emulators don't implement mipmaps accurate to original hardware, so expect to see it by looking at emulated footage. If you go looking at recordings of real hardware, (IIRC, this is according to what I've read on the Supermodel emulator forums) the Model 3 only did mipmaps down to 8x8 with some detail bias, so there still may be some aliasing on far textures.) Maybe Shenmue's Saturn origins had an influence, but I think AM2 just preferred having extra/larger textures from the memory saved by not using mipmaps.
Is that full screen or split screen? Because 2P versus mode is split screen with (IIRC) no loss of detail, so the real throughput is twice that.
As a DC homebrewer, the SH4 does fine. IIRC, I've hit around 4.2 million polygons per second and became GPU limited. I think that code could reach something like 6 million polygons per second if the PVR was faster and had enough memory to store all the polygon data. In my code, I was doing transform, perspective, a single directional light, and ambient; not very advanced, but still useful.
You can actually get close to the theoretical peak FLOP rate of 1.4 GFLOPS inside a loop. FTRV, the vector transform instruction (which multiplies a 4x4 matrix with a 4D vector), can be issued every 4 cycles. With 64-bit moves, you can load and store an entire vector in that time, just barely enough to keep the FPU fed, so it's not just "1.4 GFLOPS until you use up what you have in registers."
You have to use the SH4's SIMD instructions differently than how they would be used on a traditional system since the real heavy lifter is the FTRV instruction. You can, for example, stick your light direction vectors in a matrix, load the vertex normal in a vector registers, and use FTRV and get the intensities for four lights in parallel. Clamp the results to >0, stick the light colors in a matrix, and FTRV the light intensities to get the final RGB results. Asymptotic average would be 16 cycles per vertex, or 4 cycles per light. In this case, clamping >0 would take half the run time... (8 cycles per vertex, 2 per light) Something like a clamp vector or pair instruction would have been really useful.
The SH4 can also normalize vectors pretty fast. I've managed an average of one vector every 8 cycles (a 32 cycle loop that does 4 vectors per iteration).
Speaking of Shenmue and mipmapping, in my experience of seeing how the PVR handles certain scenes, the lack of mipmapping is responsible most of the slow down that occurs. There's actually a bit more mipmapping that what has been mentioned. Xiuying's apartment has mipmapping on the floor, and in Guilin, the foliage is mipmapped. The random floors were probably just a mistake, but the trees and bushes were definitely intentional to get more fillrate out of the PVR.
I don't think Shenmue's lack of mipmaps have anything to do with AM2's arcade games. The Model 2 and 3 both used mipmapping (the Model 3 even used trilinear with detail textures), so AM2 had probably used them more than anyone else at Sega. (Most emulators don't iE]