#39215 - manicdvln - Wed Apr 06, 2005 1:53 am
[Images not permitted - Click here to view it]
http://ds.ign.com/articles/601/601648p1.html
I also heard DS arm9 cpu can clock up to 200mhz and arm7 up to 100mhz. I dont know if this true.
I also noticed when playing metroid prime hunters, that DS does ineed have some sort of mip-mapping. Can anyone confirm this? Check the floor on hunters and you will see a line thats filtering textures on the floor.
#39217 - tepples - Wed Apr 06, 2005 2:25 am
The bottom screen looks either rot/scale or software rendered.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#39222 - bluknight - Wed Apr 06, 2005 3:46 am
I believe it was said that it can do 3d on both screens, but to do that, the frame rate drops... It was basically being done by quickly switching (each frame) which screen had 3d rendering, thus giving the illusion of 3d on both, at a cost.
#39229 - Lynx - Wed Apr 06, 2005 6:18 am
Correct me if I'm wrong, but I believe it was 60fps on one screen, and 30fps each on both screens.
#39237 - Ethos - Wed Apr 06, 2005 1:16 pm
30 fps is all you'd need since even NTSC is only 30 fps (which is better than PAL)
#39238 - Boeboe - Wed Apr 06, 2005 1:19 pm
Ethos wrote: |
30 fps is all you'd need since even NTSC is only 30 fps (which is better than PAL) |
wrong. In games these days there is night and day difference noticeable between 30 and 60 fps. Just look at rayman DS...
#39239 - Ethos - Wed Apr 06, 2005 1:32 pm
yeah you are right, sometimes I think they should add more blur so the games seem a bit more fluid, I was just trying to say that 30fps is good enough to get some decent video
#39250 - Mr DiZZLE - Wed Apr 06, 2005 3:22 pm
On the new Mario Kart DS movie it shows a top down camera view on the bottom screen. Although this could just be a 2d screen based on the positioning of everyone.
#39272 - tepples - Wed Apr 06, 2005 9:13 pm
Mr DiZZLE wrote: |
On the new Mario Kart DS movie it shows a top down camera view on the bottom screen. Although this could just be a 2d screen based on the positioning of everyone. |
There's precedent: Super Mario Kart for Super NES had a split screen, and its bottom screen in 1-player mode showed a full-track view.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#39306 - Mike - Thu Apr 07, 2005 7:45 am
I think it's safe to say that it can do 3D on both screens. It would be a pretty crappy product if it didn't, and Nintendo isn't that dumb.
I even remember Mario DS had 3D on both screens in a few minigames.
It would obviously be slower to use both screens for 3D instead of one, though.
#39311 - Wriggler - Thu Apr 07, 2005 10:14 am
That top screen looks 2d anyway, the sprites look the same??
Ben
#39327 - EaDS Milliways - Thu Apr 07, 2005 3:08 pm
The top screen is sprites, the bottom screen is 3D. I'll believe it can do 3D on both screens when I see it on my DS OR if someone creates a demo and videos their devDS. Remember, there ARE two dedicated 2D vector engines, one for each screen. For most 3d-ish purposes, these will do nicely.
Those "3D on two screens" in Mario have been discussed here and are generally thought to be 3D looking sprites (as in Donkey Kong on the SNES) since you only see them from a specific angle.
#39331 - the_angry_monkey - Thu Apr 07, 2005 3:30 pm
you could always manage full speed voxel 3d on one screen and 60fps true 3d on the other
#39344 - abigsmurf - Thu Apr 07, 2005 7:52 pm
Except that voxel engines eat up CPU as they get zero boost from GPUs
*edit*
looking at this screenshot, it appears that the terrain is 3d
http://media.ds.ign.com/media/737/737298/img_2698948.html
there's a couple of pieces of evidence:
1: the shadow of the tree doesn't seem to be as long as it should be suggesting a slope and the shadow appears two have had some transformations applied that suggest a 3D engine
2: if you look closely you can see joins between the polygons/textures around the bottom left corner, if it was pre-rendered or hand drawn scenary, it's extremely unlikely they'd not blend in joins like that
#39348 - EaDS Milliways - Thu Apr 07, 2005 9:12 pm
I'd say that the top screen in that shot is 3D just because the bottom one is 2D. :) While there may be a dual 3D mode, I would imagine that you couldn't make a playable game with it.
#39349 - TheMikaus - Thu Apr 07, 2005 9:16 pm
I haven't had much time to look into DS stuff, So if this is off the wall, I'm sorry ahead of time. Maybe you can render to a buffer that's twice the size of the screen (using either one view port or two like in gl for multiple cameras) and then just copy the bottom half to the lower screen's video memory.
also, I'm not very knowledgeable with 3d so the terms might be wrong.
#39351 - Mike - Thu Apr 07, 2005 9:25 pm
Quote: |
Those "3D on two screens" in Mario have been discussed here and are generally thought to be 3D looking sprites (as in Donkey Kong on the SNES) since you only see them from a specific angle. |
There's a minigame I'm looking at right now which involves Mario jumping on shyguys. This is obvious 3D on both screens. It's very aparant that mario and the shyguys are polygonal models and not sprites, as they suffer from 3D rendering artifacts (aliasing, jittery animation, low vector precision) and feature a low polycount and an extravagant amount of animation 'frames'.
Looking at the trampoline minigame, it's also very noticeable that the trampolines are 3D.
#39364 - tepples - Fri Apr 08, 2005 12:10 am
A lot of the rendering artifacts characteristic of the Nintendo DS 3D hardware are also characteristic of typical software rasterizers.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#39372 - octopusfluff - Fri Apr 08, 2005 1:00 am
EaDS Milliways wrote: |
Those "3D on two screens" in Mario have been discussed here and are generally thought to be 3D looking sprites (as in Donkey Kong on the SNES) since you only see them from a specific angle. |
Except some of the minigames really -do- have actual 3d transformations being applied, namely 'Bounce and Pounce', 'Bounce and Trounce', 'Trampoline time' and 'Trampoline Terror'.
Each of these games has entirely too many viewing angles for the characters that move between the top and bottom screens for it to be pre-rendered. In particular, things like the positioning of the visor on Mario's cap occludes different portions of the 'm' logo and his face as he gets higher/lower on the screen. The shyguys show clear differences in appearance depending on their horizontal position on the screen.
Seriously, pre-rendering all those angles would have taken up way too much space, and likely wouldn't have fit within the available ram.
Edit: I guess I was looking at a cached copy or something, didn't see the followups made with similar points. :p But I'm not referring to artifacts, but instead the viewing angles.
#39598 - ras - Sun Apr 10, 2005 5:57 pm
tepples wrote: |
A lot of the rendering artifacts characteristic of the Nintendo DS 3D hardware are also characteristic of typical software rasterizers. |
Are you suggesting that one screen is rendering the 3D via DS hardware and the other one via software?
I don't think so, mainly becouse I've seen screens(of games that hasn't been released tho) where both screens has 3d and antialiasing on polygons.
#39611 - dovoto - Sun Apr 10, 2005 7:25 pm
The DS has a mechanism for rendering 3D to both screens by means of capturing the framebuffer to memory were it is used as a direct color bitmap on the sub display, swapping LCDs (effectivly freezing the 3D output on the sub display) then rendering a new image to the other LCD. This effectivly cuts render frame rate in half. There is also a bit of memory transfering required which further slows things down (although it should be possible to maintain 30fps on both screens).
This is secondhand information, but from a trusted source. The mechanizm for this I do not know but I believe there are specific registers for capturing display output and transfering it to main memory.
If i get anything else i will post the results.
_________________
www.drunkencoders.com
#39718 - EaDS Milliways - Mon Apr 11, 2005 7:27 pm
ras wrote: |
tepples wrote: | A lot of the rendering artifacts characteristic of the Nintendo DS 3D hardware are also characteristic of typical software rasterizers. |
Are you suggesting that one screen is rendering the 3D via DS hardware and the other one via software?
I don't think so, mainly becouse I've seen screens(of games that hasn't been released tho) where both screens has 3d and antialiasing on polygons. |
If the game hasn't been released and there are no videos of it, there's no way to tell if what you're seeing is being rendered real time or is just a 3D image on a 2D sprite.
#39720 - Zlodo - Mon Apr 11, 2005 7:53 pm
dovoto wrote: |
This is secondhand information, but from a trusted source. The mechanizm for this I do not know but I believe there are specific registers for capturing display output and transfering it to main memory. |
It's in VRAM, actually. Loosing a lot of texture room is the other downside that explains why it's used so scarcely.
#39740 - KirbyPopStar - Mon Apr 11, 2005 11:07 pm
There was no point in closing my thread, there is still skeptics in this one.
In any case, I have proof Nintendo DS can render 3D on both screens, with a decent framerate too. I'll e-mail it to whoever is curious.
#39828 - abigsmurf - Tue Apr 12, 2005 7:19 pm
http://www.the-magicbox.com/0504/game050411d.shtml
At the risk of flogging a dead horse, the bottom image is only possible from 3D on both screens.
#39836 - Mr Snowflake - Tue Apr 12, 2005 8:59 pm
You can see 3D on both screens in the metroid demo! Problem solved... :/
#39840 - dankydoo - Tue Apr 12, 2005 9:17 pm
Take dovoto and Zlodo's word for it: it is possible....why are people so skeptical around here?
#39854 - Mr Snowflake - Tue Apr 12, 2005 11:11 pm
I don't get it either, they can all see it in the demo and lot's of people are saying it. It was even posted on a blog long before the ds was launched
#39855 - dagamer34 - Tue Apr 12, 2005 11:45 pm
dankydoo wrote: |
Take dovoto and Zlodo's word for it: it is possible....why are people so skeptical around here? |
No homebrew demo has done it.
_________________
Little kids and Playstation 2's don't mix. :(
#39868 - willgonz - Wed Apr 13, 2005 2:05 am
Super Mario 64 MiniGame display 3d on both screens and the top screen and bottom screens have the same refresh rates.
_________________
│?ig │
All of this is research. You are going to see theories come and go. Things you think can't be done, will be done. But because you are here, you'll be the first to know.
#39876 - NMcCoy - Wed Apr 13, 2005 3:08 am
Huh? When does the Metroid demo ever have 3d on both screens? The only thing I can think of is the pre-rendered video, which obviously doesn't count.
#39879 - EaDS Milliways - Wed Apr 13, 2005 4:08 am
NMcCoy wrote: |
Huh? When does the Metroid demo ever have 3d on both screens? The only thing I can think of is the pre-rendered video, which obviously doesn't count. |
I was thinking that same thing :)
#40018 - thanius - Thu Apr 14, 2005 2:46 pm
EaDS Milliways wrote: |
NMcCoy wrote: | Huh? When does the Metroid demo ever have 3d on both screens? The only thing I can think of is the pre-rendered video, which obviously doesn't count. |
I was thinking that same thing :) |
Is the question here if the DS can display 3D on both screens? The answer is yes. This means displaying on both screens, one at a time; and on both screens at the same time. Anyone who has played 'Feel the Magic/Project Rub' can say that many polygon-models have been displayed on both screens simultaneously. There, happy?
#40024 - EaDS Milliways - Thu Apr 14, 2005 3:41 pm
thanius wrote: |
EaDS Milliways wrote: | NMcCoy wrote: | Huh? When does the Metroid demo ever have 3d on both screens? The only thing I can think of is the pre-rendered video, which obviously doesn't count. |
I was thinking that same thing :) |
Is the question here if the DS can display 3D on both screens? The answer is yes. This means displaying on both screens, one at a time; and on both screens at the same time. Anyone who has played 'Feel the Magic/Project Rub' can say that many polygon-models have been displayed on both screens simultaneously. There, happy? |
Actually, that would be the WORST example in that, since there's no shading, the same thing could be done with the VERY capable 2D vector units. People with connections have already answered the technical question of "is it possible," so I'm satisfied with that.
I just wonder what the real limitations are. If there's a huge hit to gameplay to display more than a few tiny characters (and those alternating between screens) then that would explain why there's a good chance that you'd never see, say, a 3D rendered race on one screen and a 3D rendered top view of the race on the other.
#40108 - manicdvln - Fri Apr 15, 2005 5:00 am
#40153 - wintermute - Fri Apr 15, 2005 2:10 pm
evidence of what?
just because something has the appearance of 3D doesn't mean that it's hardware assisted
#40164 - manicdvln - Fri Apr 15, 2005 4:29 pm
wintermute wrote: |
evidence of what?
just because something has the appearance of 3D doesn't mean that it's hardware assisted |
Appearance? It is 3D on both screens. You can see the pixelation of the pac man in the bottom screen and as well as the angular outter shell of pacman in first screen. The top screen is obcviously 3D. I don't care what programmers are doing to get 3D on both screens, but more and more games are revealed on DS, more we are seeing 3D on both screens.
#40167 - tepples - Fri Apr 15, 2005 4:54 pm
manicdvln wrote: |
Appearance? It is 3D on both screens |
3D != hardware assisted. Specifically, the 3D content of the touch screen image seems to be simple enough to be soft-rasterized the way the player sprite in Tony Hawk's Pro Skater for GBA was soft-rasterized.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#40207 - KirbyPopStar - Sat Apr 16, 2005 3:32 am
wintermute wrote: |
evidence of what?
just because something has the appearance of 3D doesn't mean that it's hardware assisted |
And you people CLOSED MY THREAD!!!
I told you guys I had proof! I had a video of Pac-Pix running, and asked you to e-mail me to see it... and nobody believed me! Ya all closed my thread! Well, the bottom screen Pac-Man IS indeed 3D! And it runs at a decent framerate too. This is the part where I get to say "I told ya so."
#40210 - tepples - Sat Apr 16, 2005 4:53 am
It's 3D, but we suggested the possibility of software 3D way back then.
We close duplicate topics that talk about the same thing.
It's too bad Payback for GBA probably won't see a North American release before all of us are dead and buried.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#40218 - Teasy - Sat Apr 16, 2005 7:26 am
DS's GPU can transform 4 million vertices per second in hardware (4 million polys with ideal triangle strip primitives). Yet each DS screen can only display 120,000 polygons per second. I had wondered what the point of such a high transform rate was if the screen could display only a small fraction of those polygons. Perhaps dual screen 3D is the reason.
Before anyone says it I know 4 million is peak and in game will be lower, as always. But surely not that much lower (120,000).
#40235 - dagamer34 - Sat Apr 16, 2005 2:57 pm
Teasy wrote: |
DS's GPU can transform 4 million vertices per second in hardware (4 million polys with ideal triangle strip primitives). Yet each DS screen can only display 120,000 polygons per second. I had wondered what the point of such a high transform rate was if the screen could display only a small fraction of those polygons. Perhaps dual screen 3D is the reason.
Before anyone says it I know 4 million is peak and in game will be lower, as always. But surely not that much lower (120,000). |
...
I don't thing what you said is right. Especially the line about 4 million vertices. I really think it's 4 million PIXELS, which would probably be somewhere around 130,000 (and then overhead and all that fancy stufff brings it down)..
_________________
Little kids and Playstation 2's don't mix. :(
#40240 - lambi1982 - Sat Apr 16, 2005 3:54 pm
No one here has ever developed for the nintendo DS, I love how everyone says they know evertything about the DS. What is this based on? what, some kid who can progam some simple DS app. Come on people. When a system comes out the graphics are not a Maxed example of what the system can do, it takes time and as soon as that time comes you WILL see Dual 3D on the DS.
Games now do now have dual 3D is because it has not been needed.
_________________
Who, Me?
#40251 - KirbyPopStar - Sat Apr 16, 2005 6:08 pm
I also love how everyone just ignores the hard proof that the Nintendo DS can produce 3D on both screens. You can't argue against that kind of evidence.
#40252 - Teasy - Sat Apr 16, 2005 6:19 pm
Quote: |
I don't thing what you said is right. Especially the line about 4 million vertices. I really think it's 4 million PIXELS, which would probably be somewhere around 130,000 (and then overhead and all that fancy stufff brings it down).. |
No I definitely know what I meant. I was referring to the hardware transformation and lighting engine inside the DS graphics chip. Which can T&L 4 million vertices per second.
DS's fillrate is actually 30 million pixels per second BTW.
#40290 - dagamer34 - Sun Apr 17, 2005 2:34 am
Teasy wrote: |
Quote: | I don't thing what you said is right. Especially the line about 4 million vertices. I really think it's 4 million PIXELS, which would probably be somewhere around 130,000 (and then overhead and all that fancy stufff brings it down).. |
No I definitely know what I meant. I was referring to the hardware transformation and lighting engine inside the DS graphics chip. Which can T&L 4 million vertices per second.
DS's fillrate is actually 30 million pixels per second BTW. |
I think I have been pwned... :/
_________________
Little kids and Playstation 2's don't mix. :(
#40295 - EaDS Milliways - Sun Apr 17, 2005 3:11 am
lambi1982 wrote: |
Games now do now have dual 3D is because it has not been needed. |
I'd argue that dual 3D hasn't been done because they haven't figured out how to do it in such a way that it doesn't seriously subtract from gameplay. :) For example, having the lower screen in MarioDS showing your position in 3D would have been great, but it would probably kill the upper screen framerate.
#40350 - Costis - Sun Apr 17, 2005 9:49 pm
Hey guys,
An official developer told me to say you guys are giving him a seriously good laugh. The DS is more than capable of rendering 3D on both LCD's. The 3D GPU is not locked to either display but can render to only one LCD in a given VSync. There is a very simple and well documented method for rendering to one LCD followed by rendering to the second LCD the next frame.
This is not black magic, voodoo, or work of deranged DS coders gone loose. It's just the way things are done. So discussion over this, companies using software rendering to get 3D on both screens, or that it's just not possible to do 3D on both is completely incorrect and pointless.
Best Regards,
Costis
#40354 - tepples - Sun Apr 17, 2005 10:56 pm
Costis wrote: |
An official developer told me to say you guys are giving him a seriously good laugh. The DS is more than capable of rendering 3D on both LCD's. The 3D GPU is not locked to either display but can render to only one LCD in a given VSync. There is a very simple and well documented method for rendering to one LCD followed by rendering to the second LCD the next frame. |
Correct. I'm under the impression that involves sampling the pixel output of the 3D core and storing it in a frame buffer for the other screen to use. But then you lose 96 KB of texture VRAM to the frame buffer and have to divide the rest of texture VRAM between the two screens.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#40357 - dagamer34 - Sun Apr 17, 2005 11:15 pm
The reason why some people might be skeptical is a) no game clearly uses 3D on both screens and b) few games use 3D at all.
_________________
Little kids and Playstation 2's don't mix. :(
#40374 - EaDS Milliways - Mon Apr 18, 2005 2:56 am
tepples wrote: |
Costis wrote: | An official developer told me to say you guys are giving him a seriously good laugh. The DS is more than capable of rendering 3D on both LCD's. The 3D GPU is not locked to either display but can render to only one LCD in a given VSync. There is a very simple and well documented method for rendering to one LCD followed by rendering to the second LCD the next frame. |
Correct. I'm under the impression that involves sampling the pixel output of the 3D core and storing it in a frame buffer for the other screen to use. But then you lose 96 KB of texture VRAM to the frame buffer and have to divide the rest of texture VRAM between the two screens. |
Which is why I think the question shouldn't be CAN it, but under what realistic limitations? I mean, given enough time I could say I can do 3D on an iPod, as long as I remove framerate AND quality from the conversation.
#40950 - Fox5 - Sat Apr 23, 2005 10:14 pm
Mike wrote: |
Quote: | Those "3D on two screens" in Mario have been discussed here and are generally thought to be 3D looking sprites (as in Donkey Kong on the SNES) since you only see them from a specific angle. |
There's a minigame I'm looking at right now which involves Mario jumping on shyguys. This is obvious 3D on both screens. It's very aparant that mario and the shyguys are polygonal models and not sprites, as they suffer from 3D rendering artifacts (aliasing, jittery animation, low vector precision) and feature a low polycount and an extravagant amount of animation 'frames'.
Looking at the trampoline minigame, it's also very noticeable that the trampolines are 3D. |
Ever play Mario Vs. Donkey Kong? It had surprisingly detailed prerendered sprites with an incredible amount of animation, I think that's what is happening in the mini game as the top mario's definetely look more aliased than the bottom 3d ones, just like the prerendered mario sprite in mario vs. donkey kong. Of course, I could be wrong, but at first I thought it was 3d on both screens, but the top screen looks a bit off to me.
I don't see why dual screen 3d shouldn't be possible though, as long as the DS can switch between rendering to each screen fast enough. Why would the DS have a pause while switching? From what I've heard about how the DS works, maybe you'd get some or a lot of graphical errors but it could stay at a high speed.(from the lack of time to finish drawing the frame and just outputting it before it's ready....eh thinking about it, I can't really think of much besides memory being sacrificed for dual screen 3d, but I'm not very knowledgable)
#40967 - Mike - Sun Apr 24, 2005 1:54 am
Fox5 wrote: |
Mike wrote: | Quote: | Those "3D on two screens" in Mario have been discussed here and are generally thought to be 3D looking sprites (as in Donkey Kong on the SNES) since you only see them from a specific angle. |
There's a minigame I'm looking at right now which involves Mario jumping on shyguys. This is obvious 3D on both screens. It's very aparant that mario and the shyguys are polygonal models and not sprites, as they suffer from 3D rendering artifacts (aliasing, jittery animation, low vector precision) and feature a low polycount and an extravagant amount of animation 'frames'.
Looking at the trampoline minigame, it's also very noticeable that the trampolines are 3D. |
Ever play Mario Vs. Donkey Kong? It had surprisingly detailed prerendered sprites with an incredible amount of animation, I think that's what is happening in the mini game as the top mario's definetely look more aliased than the bottom 3d ones, just like the prerendered mario sprite in mario vs. donkey kong. Of course, I could be wrong, but at first I thought it was 3d on both screens, but the top screen looks a bit off to me.
I don't see why dual screen 3d shouldn't be possible though, as long as the DS can switch between rendering to each screen fast enough. Why would the DS have a pause while switching? From what I've heard about how the DS works, maybe you'd get some or a lot of graphical errors but it could stay at a high speed.(from the lack of time to finish drawing the frame and just outputting it before it's ready....eh thinking about it, I can't really think of much besides memory being sacrificed for dual screen 3d, but I'm not very knowledgable) |
Come one man, that'd be like building an electromagnetic pulserifle to shoot at tin cans. They'd just do the entire minigame 2D if 3D wasn't possible on both screens, instead of writing a software renderer (while having all this cool 3D hardware stupidly locked-out) or pre-rendering crappy low-poly models with horrible aliasing and vertex rounding errors, then matching it exactly to the 3D model's position and animation when it enters the second screen.
If this whole myth about the DS not being able to render 3D on both screens at the same time had never being conceived (prolly by sony fanboys) people would just have looked at the 4 fully 3D minigames in MarioDS and known without a doubt the DS was doing 3D on both screens.
I looked at the minigames in question again right now, and they're obviously 3D to me. I would bet my entire belongings (a rubber band and half a pack of cigarets) that the following items in MarioDS are fully 3D using both screens:
Intro Screen:
- The dancing star. At one point, there are two stars, and they grow to a huge size (and gain detail btw) and fall from the top screen onto Yoshi's head. The stars even have nice specular lighting if you look closely.
First FlyGuy MiniGame:
-The 3 ShyGuys are 3D
- Mario is 3D
First Trampoline MiniGame:
- The trampolines are 3D
- Mario is 3D
Second FlyGuy MiniGame:
- All shyguys are 3D (very obviously as they even rotate and are nicely vertex lit)
- Mario is 3D
Second Trampoline Game:
- All rainbow rings are 3D
- Mario is 3D
Al this disregarding the plain fact that it would be very *weird* if the DS didn't allow for 3D on both screens at the same time. I'd even go as far as saying that there aren't even two seperate framebuffers internally.
#40973 - tepples - Sun Apr 24, 2005 2:48 am
As I understand it, there are three internal frame buffers: one for the 3D core and one for each screen's 2D core, each being one scanline tall. A program can use DMA to capture the 3D core's frame buffer to a texture as it is being fed to the screen, at a cost of 96 KB of texture RAM, and then display from it on a 2D core while the 3D core is busy drawing to the other screen.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#40983 - Mike - Sun Apr 24, 2005 3:46 am
tepples wrote: |
As I understand it, there are three internal frame buffers: one for the 3D core and one for each screen's 2D core, each being one scanline tall. A program can use DMA to capture the 3D core's frame buffer to a texture as it is being fed to the screen, at a cost of 96 KB of texture RAM, and then display from it on a 2D core while the 3D core is busy drawing to the other screen. |
If that's true, it would complicate matters considerably. It would have being quite straightforward to have a flat 512*392 framebuffer accomodating the two screens, and a seperate block of texture memory.
#40990 - Fox5 - Sun Apr 24, 2005 3:58 am
Mike wrote: |
tepples wrote: | As I understand it, there are three internal frame buffers: one for the 3D core and one for each screen's 2D core, each being one scanline tall. A program can use DMA to capture the 3D core's frame buffer to a texture as it is being fed to the screen, at a cost of 96 KB of texture RAM, and then display from it on a 2D core while the 3D core is busy drawing to the other screen. | If that's true, it would complicate matters considerably. It would have being quite straightforward to have a flat 512*392 framebuffer accomodating the two screens, and a seperate block of texture memory. |
Couldn't it be possible just to bypass a framebuffer entirely and render straight to the screen?
#41036 - EaDS Milliways - Sun Apr 24, 2005 12:22 pm
Mike wrote: |
If this whole myth about the DS not being able to render 3D on both screens at the same time had never being conceived (prolly by sony fanboys) people would just have looked at the 4 fully 3D minigames in MarioDS and known without a doubt the DS was doing 3D on both screens. |
No, probably came from statements like this from a DS developer.
http://trikuare.cx/mt/archives/000757.php
but reading PAST that, they state a limitation for doing 3D on both screens. Knowing how things like this work, I'd imagine that 30fps on both screens is a "best case" and that, due to other factors, the rate may drop even further than that.
Mike wrote: |
Al this disregarding the plain fact that it would be very *weird* if the DS didn't allow for 3D on both screens at the same time. |
I've read the DS described as two GBA's jammed together with some 3D stuff. If THAT'S not already weird, I don't know what is!
#41053 - Fox5 - Sun Apr 24, 2005 5:28 pm
EaDS Milliways wrote: |
Mike wrote: |
If this whole myth about the DS not being able to render 3D on both screens at the same time had never being conceived (prolly by sony fanboys) people would just have looked at the 4 fully 3D minigames in MarioDS and known without a doubt the DS was doing 3D on both screens. |
No, probably came from statements like this from a DS developer.
http://trikuare.cx/mt/archives/000757.php
but reading PAST that, they state a limitation for doing 3D on both screens. Knowing how things like this work, I'd imagine that 30fps on both screens is a "best case" and that, due to other factors, the rate may drop even further than that.
Mike wrote: | Al this disregarding the plain fact that it would be very *weird* if the DS didn't allow for 3D on both screens at the same time. |
I've read the DS described as two GBA's jammed together with some 3D stuff. If THAT'S not already weird, I don't know what is! |
It only has 1 Arm 7 though. And if the Arm 9 was capable of running GBA code then I don't think the Arm 7 would even be in there.
BTW, so far the 2d done on the 2nd screen in 3d DS games doesn't seem to match what the GBA was capable of.
#42235 - dcjeff33 - Sun May 08, 2005 5:49 am
tepples wrote: |
Costis wrote: | An official developer told me to say you guys are giving him a seriously good laugh. The DS is more than capable of rendering 3D on both LCD's. The 3D GPU is not locked to either display but can render to only one LCD in a given VSync. There is a very simple and well documented method for rendering to one LCD followed by rendering to the second LCD the next frame. |
Correct. I'm under the impression that involves sampling the pixel output of the 3D core and storing it in a frame buffer for the other screen to use. But then you lose 96 KB of texture VRAM to the frame buffer and have to divide the rest of texture VRAM between the two screens. |
If that's really all that's involved, why doesn't it seem to be supported in ndslib? I'm still pretty new to all this, but the ndslib seems to state that neither 3d nor fb is supported on the touch screen. Or am I reading this wrong?
I should note that I am not questioning whether it is supported by the DS, it would just be nice to get it working. thx
#42238 - tepples - Sun May 08, 2005 8:10 am
dcjeff33 wrote: |
tepples wrote: | Correct. I'm under the impression that involves sampling the pixel output of the 3D core and storing it in a frame buffer for the other screen to use. But then you lose 96 KB of texture VRAM to the frame buffer and have to divide the rest of texture VRAM between the two screens. |
If that's really all that's involved, why doesn't it seem to be supported in ndslib? |
For the same reason that wireless communication isn't fully supported in ndslib: it involves features of the hardware that aren't cracked yet. Specifically, sampling the 3D core's output into a frame buffer probably involves DMA from a hardware register whose address we don't know. We'll have to wait until a commercial game that uses 3D on both screens is dumped and traced.
Quote: |
I'm still pretty new to all this, but the ndslib seems to state that neither 3d nor fb is supported on the touch screen. Or am I reading this wrong? |
I assume that by "touch screen" you mean "sub-screen", given that the Nintendo DS's power management circuitry can send the main- and sub-screen video outputs to either physical screen. Anyway, a frame buffer of some sort has been available on the 2D screen since the original Game Boy. Cases in point: Qix and Game Boy Camera.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#42243 - ector - Sun May 08, 2005 9:06 am
Nope, the original gameboy had to simulate the framebuffer in Qix by filling the screen with unique tiles and using a little bit magic to draw pixels into this tiled "framebuffer".
#42247 - J_akob - Sun May 08, 2005 12:03 pm
manicdvln wanted to know if there actually was mip-mapping on DS hardware well Pocketeers claims that there C3 engine that was developed for Need for Speed Underground DS supports mipmapping.
http://www.pocketeers.co.uk/index_c3engine.htm
Thought you'd like to know.
_________________
Bill
The eyes are the windows to the
skull my friend.
Dave
Don't you mean soul?
Bill
To those that have one, yes.
#42248 - bluescrn - Sun May 08, 2005 12:35 pm
J_akob wrote: |
manicdvln wanted to know if there actually was mip-mapping on DS hardware well Pocketeers claims that there C3 engine that was developed for Need for Speed Underground DS supports mipmapping.
http://www.pocketeers.co.uk/index_c3engine.htm
|
Mipmapping can be implemented per-poly in software, simply by switching textures. It'd expect it would have a noticable performance hit compared to a raw display list, but it's easy enough to do
Unless they've ported their software renderer to the DS.... a really good software renderer might come fairly close to the performance of the DS 3D hardware, and could be more flexible?
#42261 - tepples - Sun May 08, 2005 6:24 pm
ector wrote: |
Nope, the original gameboy had to simulate the framebuffer in Qix by filling the screen with unique tiles and using a little bit magic to draw pixels into this tiled "framebuffer". |
I knew that, but a framebuffer whose addresses are interleaved at 8-pixel increments is still a framebuffer.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#42265 - dcjeff33 - Sun May 08, 2005 6:31 pm
I understand it takes time to crack these thing (and believe me, I'm grateful to those of you who toil over it!), but I'm still not sure I see how to do FB to the sub-display. I probably need to play with it some more but, regardless, I don't see how that would enable you to do 3D on the touch screen. Is copying from one FB to the other really fast enough? Or is that not what we're talking about...
Bottom line, if anyone knows any way to do 3D on the *touch screen*, feel free to assult my hardware-stupid monikers and anything else, just tell me what it is! Thanks :)
#42440 - pnice - Wed May 11, 2005 3:07 pm
"The 3D engine used in Pac 'n Roll is very solid, offering a smooth framerate and detailed level geometry for all of the different challenges. The lower touch screen displays Pac-Man as a "trackball" of sorts, in 3D but far less detailed than the upper screen."
http://ds.ign.com/articles/610/610894p1.html
http://dsmedia.ign.com/ds/image/article/610/610894/pac-n-roll-20050506033117058.jpg
http://dsmedia.ign.com/ds/image/article/610/610894/pac-n-roll-20050506033117511-000.jpg
#42449 - Ethos - Wed May 11, 2005 5:59 pm
dcjeff33 wrote: |
Bottom line, if anyone knows any way to do 3D on the *touch screen*, feel free to assult my hardware-stupid monikers and anything else, just tell me what it is! Thanks :) |
lcdSwap (); ----lol
Anyways, as tepples said... 3d is possible on 2 screens. Just need a scanline tall buffer (DMA'd).
If you use 2 screens, your total texture size is 256kb, you can divide that up as you will between the two screens (or even share textures). The rest (bank C+D) will be used as a sub screen buffer (I believe in mode 5 with bitmaps).
I am guessing that both the top and bottom pacman (above) share the same texture.
_________________
Ethos' Homepage (Demos/NDS 3D Tutorial)
#42611 - EaDS Milliways - Fri May 13, 2005 3:13 pm
Ethos wrote: |
Anyways, as tepples said... 3d is possible on 2 screens. Just need a scanline tall buffer (DMA'd).
If you use 2 screens, your total texture size is 256kb, you can divide that up as you will between the two screens (or even share textures). The rest (bank C+D) will be used as a sub screen buffer (I believe in mode 5 with bitmaps).
I am guessing that both the top and bottom pacman (above) share the same texture. |
Ah! I hadn't put together what has been said about texture limitations in relation to the Pac 'n Roll game, but if texture memory becomes limited, it would make sense. Do you think this would also mean that you can save processing time/memory space by sharing shape information as well or does that not apply here?
#42684 - Ethos - Fri May 13, 2005 11:51 pm
Yup, save space, and initial loading time (single texture load).
Also, note that 3D on 2 screens does not have to be approx 30/30fps.
But theoretically can be any combination adding up to 60fps.
So you can run a top screen at 50fps, and a slow update 3d status screen at 10fps :)
_________________
Ethos' Homepage (Demos/NDS 3D Tutorial)
#42689 - BlueboyX - Sat May 14, 2005 12:14 am
I can imagine someone using something like that to make a jerky radar screen of some kind on the lower screen. You could make the low frame rate into an intentional effect, and barely decrease fps on the main screen as a side effect. Interesting.
_________________
"Never, never suspect the dreams within the dreams of dreaming children."
~The Amazon Quartet
#86215 - Payk - Mon Jun 05, 2006 3:37 pm
So 30fps is enough...u cant say that you are able to see any differences because a very good man can see max. 24fps
#86225 - Fox5 - Mon Jun 05, 2006 7:10 pm
Payk wrote: |
So 30fps is enough...u cant say that you are able to see any differences because a very good man can see max. 24fps |
Incorrect, 24fps is the minimum framerate needed for the human eye to perceive something as in motion, rather than a sequence of still images. For long range shots (say, an approaching army in a distant value) or fast motion, it's actually a bit low. In addition, any fps above 24fps essentially acts as a form of temporal anti-aliasing, making the motion appear smoother, similar to how taking more pixel samples with normal anti-aliasing makes each individual image 'smoother'.
Play a game at 30fps sometime and then play it at 60fps, the difference should be fairly apparent, and the higher framerate one is less likely to cause motion sickness in people because the motion is smoother. People who have trouble playing 3d games often have that trouble because of the jerky motion, I know quite a few people who would get sick to their stomach playing the original goldeneye but can play modern games just fine. This is also why 60fps is generally considered almost a requirement for first person shooters, the fast motion needs more 'samples' in order to appear smooth.
#86251 - sniper - Mon Jun 05, 2006 10:07 pm
For the human eye the border between picture sequences and a motion is 18FPS.
TV use 50Hz (PAL) or 60Hz (NTSC) interlaced that means 25 or 30FPS.
So I would say 30FPS is a smooth motion, but of cause you can see the difference between 30 and 60FPS. Even with fast motions, because there is no blending between the frames.
When you use motionblur or something, 30FPS looks very smooth, but also blurry ;)
#86252 - CEpeep - Mon Jun 05, 2006 10:53 pm
Pardon me for asking, but why did you guys bump a thread that's more than a year old?
#86392 - kmr - Tue Jun 06, 2006 8:29 pm
I'll add something since it's up. I tried using this in a full game, and you need to make sure you never take more time to compute a frame than it takes to render it; with this hack it creates artifacts on the screen, whereas it would only slow down the game normally (and a slight frame rate hit is usually ok, but not using this hack). Using the hack also obviously takes up part of the ressources you have to compute the frame, making it harder to make any complex game. Just something to think about when deciding to use this.