• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Nintendo 3DS technical discuss thread: lets talk about this here

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
I'm also sure the PICA200 architecture is not compatible with MSAA. It seems some features use additional deferred buffers which wouldn't work with MSAA, like the shadows. SSAA is the only way to get AA.
But the shadows themselves don't need to use multi-sample buffers. So I'm not sure I follow.
 

DCKing

Member
The reason I ask is that I'm presuming that besides geometry performance and CPU power the 3DS should be better - is anything about The Wind Waker look CPU bounded? I can see that lower polygon performance shouldn't be a problem.
 

M3d10n

Member
But the shadows themselves don't need to use multi-sample buffers. So I'm not sure I follow.
I noticed these in all 3DS games with shadows:

- Shadows are cast by individual objects, not by the entire scene, like old-style projecion shadows.

- However, unlike projected shadows, the 3DS shadows don't blend against each other and in many games properly mask a light.

This can be seen in extreme in Pokedex AR mode with several pokemons: it's obvious each one has a fixed resolution shadow, but the shadows affect all models, merge together and mask lighting.

For the shadows to work this way, they need to be rendered to a screen shadow buffer, which tells how shadowed each screen pixel is. This buffer can then be read during shading and used to mask one of the lights. This technique is called "deferred shadows" and Crysis uses it. It makes rendering of shadows in forward renderers less of a hassle.

If MSAA is enabled, this buffer would need multiple samples and the fragment shader would need to be able to read multi-sampled buffers. Only DX10.1 GPUs can do this (and the PS3 and 360 with lots of hacking).

It's possible that the 3DS GPU also uses other buffers to store additional per pixel data (ID buffers, as example)
 

Vanillalite

Ask me about the GAF Notebook
It seems to me that Nintendo is focusing on N64 remakes at the moment. What we could perhaps see is an HD remake of WW for Wii U.
People probably have played it on Dolphin already, but I don't have a gaming PC so I shall wait

Granted I'm of the mindset that Nintendo at least for now is done with remakes on the 3ds, and old stuff will just be VC stuff. Still if they were to do anything I'm of this mindset. 3ds just seems the platform that MM would end up on with TWW remake going for the Wii U.

I'm not convinced either are happening or are going to happen anytime soon though.
 
It seems to me that Nintendo is focusing on N64 remakes at the moment. What we could perhaps see is an HD remake of WW for Wii U.
People probably have played it on Dolphin already, but I don't have a gaming PC so I shall wait

I think the total number of people that have played Wind Waker that have played it on Dolphin is probably somewhere around 0.1%.
 

fernoca

Member
It seems to me that Nintendo is focusing on N64 remakes at the moment. What we could perhaps see is an HD remake of WW for Wii U.
People probably have played it on Dolphin already, but I don't have a gaming PC so I shall wait
Well, they already confirmed that there's a new (non port/remake) Zelda in the works.
Plus they released Star Fox 64 and Ocarina of Time 3D (both outsourced); on the same year that they released Nintendogs, Mario Kart 7 and Mario 3D Land...While announcing Luigi's Mansion 2 (outsourced), Animal Crossing and the other games like Paper Mario, Kid Icarus, Mario Tennis that are coming; so if they're focusing on N64 remakes..they're failing at it. :p

I do think that the 3DS is more than capable of having a Zelda game that looks like Wind Waker; wouldn't surprise me if the 3DS game ends looking like that. In the end it will depend on if it's a "traditional" Zelda game like the console ones; or an Phantom Hourglass/Sprits Tracks-like "experimental" one.
 

Bullza2o

Member
Oh, I just said that it seemed to me that they would focus on N64 remakes more for 3DS, when they do make remakes. I think having a WW or any GCN remake is too soon, despite almost 9 years since WW came out.
 

fernoca

Member
Oh, I just said that it seemed to me that they would focus on N64 remakes more for 3DS, when they do make remakes. I think having a WW or any GCN remake is too soon, despite almost 9 years since WW came out.
That yeah. Wouldn't make sense neither remaking it, probably just porting it and adding a few new areas and "3DS" stuff and with the way it look, on a handheld it will still be quite great. Remake if anything, would be nice to see Phantom hourglass or Spirit Tracks with "actual WW" visuals; or if they feel like experimenting, heck maybe even the original NES game. :p
 

Panajev2001a

GAF's Pleasant Genius
Dreamcast is much lower. 2M max for 99% of its games. For many reasons, the max pol of its processor can not be reached, like 1/ Dreamcast has no dedicated FPU, so the sH4 has to stop doing math when doing other things and 2/ polygon list had to be stored in the VRAM before being processed and 3/ balance between pol and textures had to be achieved for the very same reason (no temporary streaming of textures into the VRAM).

The SH-4 sure has an FPU, with SIMD instructions too to be more specific: http://info.sonicretro.org/images/6/61/SH-4_32-bit_CPU_Core_Architecture.pdf (Chapter 6.5)

Also, 3.) while the display list has to be stored in VRAM for hidden surface elimination to work its HW magic on a TBDR, I do not see why you cannot stream textures into VRAM each frame... maybe I am a bit too tired tonight, but last I cannot see why you would have this limitation. Also, you could always multipass and stream new textures in each additional pass.
 

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
I noticed these in all 3DS games with shadows:

- Shadows are cast by individual objects, not by the entire scene, like old-style projecion shadows.

- However, unlike projected shadows, the 3DS shadows don't blend against each other and in many games properly mask a light.

This can be seen in extreme in Pokedex AR mode with several pokemons: it's obvious each one has a fixed resolution shadow, but the shadows affect all models, merge together and mask lighting.

For the shadows to work this way, they need to be rendered to a screen shadow buffer, which tells how shadowed each screen pixel is. This buffer can then be read during shading and used to mask one of the lights. This technique is called "deferred shadows" and Crysis uses it. It makes rendering of shadows in forward renderers less of a hassle.

If MSAA is enabled, this buffer would need multiple samples and the fragment shader would need to be able to read multi-sampled buffers. Only DX10.1 GPUs can do this (and the PS3 and 360 with lots of hacking).

It's possible that the 3DS GPU also uses other buffers to store additional per pixel data (ID buffers, as example)
But what's wrong with Pokedex using good old depth-buffer shadows? If Pokedex uses a directional light as the one casting the shadow, then you just keep a depth-buffer-based shadow map per object, and then when drawing each object, project that into the shadow-map space of *each* shadow map, depth-compare and accumulate in an overall shadow factor. Then just use that with the single light source. Voila.
 

wazoo

Member
The SH-4 sure has an FPU, with SIMD instructions too to be more specific: http://info.sonicretro.org/images/6/61/SH-4_32-bit_CPU_Core_Architecture.pdf (Chapter 6.5)

Also, 3.) while the display list has to be stored in VRAM for hidden surface elimination to work its HW magic on a TBDR, I do not see why you cannot stream textures into VRAM each frame... maybe I am a bit too tired tonight, but last I cannot see why you would have this limitation. Also, you could always multipass and stream new textures in each additional pass.

I do not remember all details but (2001 seems too far away) but it is related to the fact that all textures related to a frame had to be stored in the VRAM before doing the work (check Bioware interview on MDK2 and probably many posts on B3D). As a matter of fact, give me one game on DC which was doing texture streaming ??
 

M3d10n

Member
But what's wrong with Pokedex using good old depth-buffer shadows? If Pokedex uses a directional light as the one casting the shadow, then you just keep a depth-buffer-based shadow map per object, and then when drawing each object, project that into the shadow-map space of *each* shadow map, depth-compare and accumulate in an overall shadow factor. Then just use that with the single light source. Voila.

The receiver's vertex program would need to have access to a 4x4 projection matrix for each caster and in the fragment side the shadow buffers for *all* casters would have to be bound to the texture samplers at the same time. If the 3DS has 8 samplers (I'm not sure about that), this would allow 6 casters at most on a receiver which uses diffuse and normal maps.

This also means that each caster would need an unique shadow buffer while with the deferred approach you can re-use the same buffer over and over again and save tons of RAM (however with the unique approach you could re-use the shadow buffers for both frames of S3D).

While it could be doable with careful management and batching of casters versus receivers, the fact many different games by different teams have the same shadow behavior (including some rushed launch and near-launch titles) and that the deferred approach would require less complex chip logic (the single-pass approach needs quite a lot of registers and shader constants, while the deferred approach is iterative) leads me to believe the 3DS uses deferred shadows.
 

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
The receiver's vertex program would need to have access to a 4x4 projection matrix for each caster and in the fragment side the shadow buffers for *all* casters would have to be bound to the texture samplers at the same time. If the 3DS has 8 samplers (I'm not sure about that), this would allow 6 casters at most on a receiver which uses diffuse and normal maps.

This also means that each caster would need an unique shadow buffer while with the deferred approach you can re-use the same buffer over and over again and save tons of RAM (however with the unique approach you could re-use the shadow buffers for both frames of S3D).

While it could be doable with careful management and batching of casters versus receivers, the fact many different games by different teams have the same shadow behavior (including some rushed launch and near-launch titles) and that the deferred approach would require less complex chip logic (the single-pass approach needs quite a lot of registers and shader constants, while the deferred approach is iterative) leads me to believe the 3DS uses deferred shadows.
I agree that my proposition scales badly with the number of casters shader-resources-wise (well, ortho proj matrices don't need to be 4x4 but that's a detail), but given how few objects are in a Pokedex VR scene it's not that hard to pull, as you note. Which of course, is all sophistry, as at the end of the day they most likely have a single, high-enough resolution depth shadow buffer for the entire scene.
 

Alexios

Cores, shaders and BIOS oh my!
Dunno where to put this but this looks like a nice battery add on.
http://nintendoeverything.com/81611/photos-of-the-japan-trust-technology-3ds-battery/
Dunno price/specs/whatever/where it'll be available but it's quite fitting.
japan_trust_battery_3ds-5.jpg

japan_trust_battery_3ds-8.jpg
 

wsippel

Banned
A bit speculative, but it seems games get access to SysCore with firmware 3.1.x, which means that no game right now, not even Revelations, would use more than one core. SDK and firmware version numbers seem to correspond directly (with firmware only updates like browser or eShop improvements indicated by a patchlevel number), and SysCore access seems to require SDK 3.1+.
 

M3d10n

Member
I agree that my proposition scales badly with the number of casters shader-resources-wise (well, ortho proj matrices don't need to be 4x4 but that's a detail), but given how few objects are in a Pokedex VR scene it's not that hard to pull, as you note. Which of course, is all sophistry, as at the end of the day they most likely have a single, high-enough resolution depth shadow buffer for the entire scene.

Each object has their own shadow buffer (or re-use the same one): the pixel density changes depending on the size of the shadow caster. The shadows also have the same quality when viewing a single Pokemon and when having 10 of them at once on screen.

Check out Lego Pirates of the Caribbean: every dynamic object casts a shadow. Unlike PS2-style projection shadows, they merge against each other, cause self-shadowing and affect other dynamic objects as well. They also have a nice resolution and don't shimmer when moving the camera, so the projections are localized instead of being scene-wide.

I'm not sure if the 3DS GPU has enough juice to afford full scene shadowmapping.
 

BDGAME

Member
A bit speculative, but it seems games get access to SysCore with firmware 3.1.x, which means that no game right now, not even Revelations, would use more than one core. SDK and firmware version numbers seem to correspond directly (with firmware only updates like browser or eShop improvements indicated by a patchlevel number), and SysCore access seems to require SDK 3.1+.

Cool. Where you read about that?
 

Mr Swine

Banned
stupid question

since the 3DS supports tessellation, will it have any impact on performance like the HD5xxx cards? Is is possible for the 3DS to run Resident evil 4 and having it to be a perfect port by using tessellation? Would that make up for the lower polygon output that the 3DS has thanks to the 3D mode?
 

Luigiv

Member
stupid question

since the 3DS supports tessellation, will it have any impact on performance like the HD5xxx cards? Is is possible for the 3DS to run Resident evil 4 and having it to be a perfect port by using tessellation? Would that make up for the lower polygon output that the 3DS has thanks to the 3D mode?

Tesselation doesn't magically let a system push more more Poly's than it could without it. If you tessellate a scene beyond what that system can handle per frame at that framerate, you'll get performance issues. The main use of Tesselation is to automate the LoD scaling process.

Tesselation is the 3DS is more or less useless. The system just doesn't have enough poly pushing power to utilise it effectively.

If RE4 were ported to the system, It'd look closer to the PS2 version than the GCN version.
 

wsippel

Banned
Cool. Where you read about that?
Middleware changelogs.


Tesselation doesn't magically let a system push more more Poly's than it could without it. If you tessellate a scheme beyond what that system can handle per frame at that framerate, you'll get performance issues. The main use of Tesselation is to automate the LoD scaling process.

Tesselation is the 3DS is more or less useless. The system just doesn't have enough poly pushing power to utilise it effectively.

If RE4 were ported to the system, It'd look closer to the PS2 version than the GCN version.
I wouldn't say it's useless, but it's there for a different reason. Unlike on bigger platforms, DMP didn't include a tesselator to improve the graphics, but to conserve memory and bandwidth.
 
This thing has a freaking infrared port. which is all sorts of unusual.
Now someone release a Remote app with costumizable icons etc.
I bet it would be megaseller for 5$ in the eshop or so.

also: where's the skype app?
 

BDGAME

Member
Tesselation doesn't magically let a system push more more Poly's than it could without it. If you tessellate a scheme beyond what that system can handle per frame at that framerate, you'll get performance issues. The main use of Tesselation is to automate the LoD scaling process.

Tesselation is the 3DS is more or less useless. The system just doesn't have enough poly pushing power to utilise it effectively.

If RE4 were ported to the system, It'd look closer to the PS2 version than the GCN version.

RE4 can look like the Ps2 version in terns of polygons. But the best textures, the normal mapping in ground, the advanced light and others effects that make the NGC a better look game will be all there.

In the end, the 3DS will looks on par or even better than the NGC game thanks to its small screen.
 

Luigiv

Member
RE4 can look like the Ps2 version in terns of polygons. But the best textures, the normal mapping in ground, the advanced light and others effects that make the NGC a better look game will be all there.

In the end, the 3DS will looks on par or even better than the NGC game thanks to its small screen.

Textures sure, but the original game didn't use normal maps so they're not going to add them. Not that they'd want to. Normal maps directly compete with polygons for processing power look at how poly starved The Mercenaries 3D is. Also whilst the 3DS can render better looking static lighting than the cube, it can't quite compete when it comes to dynamic lighting (which RE4 used extensively on the cube).
 

BDGAME

Member
Textures sure, but the original game didn't use normal maps so they're not going to add them. Not that they'd want to. Normal maps directly compete with polygons for processing power look at how poly starved The Mercenaries 3D is. Also whilst the 3DS can render better looking static lighting than the cube, it can't quite compete when it comes to dynamic lighting (which RE4 used extensively on the cube).

I remember that the leaves in ground have some kind of bump mappibg in NGC version that I don't see in ps2. I don't know if Mercenaries is a good game to use as example, since its a first gen game and a low budge game. Isn't the light in revelation better than the RE4?
 

Luigiv

Member
I remember that the leaves in ground have some kind of bump mappibg in NGC version that I don't see in ps2. I don't know if Mercenaries is a good game to use as example, since its a first gen game and a low budge game. Isn't the light in revelation better than the RE4?

For the first point, that's Environment Map Bump Mapping, which is not the same thing as Normal Mapping. Whilst the 3DS is probably capable of doing it, it's barely noticeable in the first place.

As for the second point, yes and no. The more accurate way to describe Revelation's lighting would be different. It's more pronounced and the shading is smoother (due to being per pixel) but there's far less light sources in the environment and the use of dynamic lighting is more reserved.

http://h11.abload.de/img/untitled-1m3kji.jpg[IMG]

3DS vs Wii[/QUOTE]

What the hell was the point of this useless comparison?
 

Donnie

Member
Textures sure, but the original game didn't use normal maps so they're not going to add them. Not that they'd want to. Normal maps directly compete with polygons for processing power look at how poly starved The Mercenaries 3D is. Also whilst the 3DS can render better looking static lighting than the cube, it can't quite compete when it comes to dynamic lighting (which RE4 used extensively on the cube).

Do you have any info to back that up?
 

M3d10n

Member
Do you have any info to back that up?

He doesn't, it's pure nonsense.

Normal maps directly compete with polygons for processing power look at how poly starved The Mercenaries 3D is.
The 3DS doesn't use unified shaders processors and the vertex processing is completely separate from pixel processing. There is a slight additional vertex overhead for using per-pixel lights since tangents and binormals must be provided, but this is not significant enough to, say, allow twice as much polygons without normal maps.

Maybe could get twice as much polygons without any lighting *at all*, but that only works for certain kinds of art styles.

Also whilst the 3DS can render better looking static lighting than the cube, it can't quite compete when it comes to dynamic lighting (which RE4 used extensively on the cube).

The GameCube could only do at most 8 per-vertex lights per object and they were *not* free: 2 lights meant half the vertex throughput and all eight lights meant only 1/8 polygons.

The 3DS can do an unknown number of per-pixel lights (probably 4). Even if normal maps are not used they produce much better looking results than per-vertex lights since lighting doesn't depend on vertex density to look right. They can also provide nice looking specular highlights (per-vertex specular looks awful unless the models are heavily tesselated).

The levels in GC and Wii RE4 had walls and floors subdivided so the dynamic per-vertex lighting would work. On the 3DS they could be made of two triangles and the per-pixel lighting would look even better.
 

BDGAME

Member
I think to put this in RE:R topic, but I believe this topic is a better place.

RE:R Bullshot
Resident-Evil-Revelations-2.jpg


RE:R (demo)
1AVLp.jpg


This demo's picture is a little too bright. Play the game without 3D and the image is very close to this bullshot.

Capcom made a amazing job with this game.
 

DCharlie

And even i am moderately surprised
Dunno price/specs/whatever/where it'll be available but it's quite fitting.

came out on the 24th Jan in Japan - battery is 5800mAh.

Claim is over 10 hours play with 3d mode ON (provisor saying ymmv depending on game).

Definitely interested, but the kicker :

9480 yen for the black and blue version ($123)
9980 yen for the other colours :/ ($130)
 

M3d10n

Member
I think to put this in RE:R topic, but I believe this topic is a better place.

RE:R Bullshot
Resident-Evil-Revelations-2.jpg


RE:R (demo)
1AVLp.jpg


This demo's picture is a little too bright. Play the game without 3D and the image is very close to this bullshot.

Capcom made a amazing job with this game.

The bullshots are taken from the dev hardware. All textures, models and effects you see in them are the same as the actual game, only the resolution is increased. Unlike the Wii, the 3DS GPU can render in much higher resolutions if told to.

This is how the game would look on a 3DS emulator, if one is ever made.
 

blu

Wants the largest console games publisher to avoid Nintendo's platforms.
Each object has their own shadow buffer (or re-use the same one): the pixel density changes depending on the size of the shadow caster.
Ok, if you've noticed that then most likely they do use a single buffer per caster-receiver pair. I haven't tried multiple pokemon AR card myself.

Check out Lego Pirates of the Caribbean: every dynamic object casts a shadow. Unlike PS2-style projection shadows, they merge against each other, cause self-shadowing and affect other dynamic objects as well.
I've been meaning to check that game out of pure tech curiosity. But it's still at full price here, so it will have to wait.

They also have a nice resolution and don't shimmer when moving the camera, so the projections are localized instead of being scene-wide.
Why would they shimmer based on the camera movement? I don't think the single shadow-casting source in Pokedex is camera-pinned.

I'm not sure if the 3DS GPU has enough juice to afford full scene shadowmapping.
For compact scenes viewed at 3DS' res, a 16bit .5k x .5k orthographic-projection-based shadow buffer with PCF can produce very smooth results. With 4 pixel pipelines at 268MHz, even without any zexel-mode optimisations, the gpu should be able to produce 1072G depth samples /sec. IOW, it can fill said buffer in less than a ms. If anything, the vertex and/or trisetup load should be the sole limiting factor for such buffers on the 3DS. And the vertex load would be the same among all shadow techniques (subject to LOD tricks, naturally), so that's rather irrelevant.
 

Panajev2001a

GAF's Pleasant Genius
I do not remember all details but (2001 seems too far away) but it is related to the fact that all textures related to a frame had to be stored in the VRAM before doing the work (check Bioware interview on MDK2 and probably many posts on B3D). As a matter of fact, give me one game on DC which was doing texture streaming ??

My point about texture streaming was not streaming of resources mid-frame, but streaming of resources between frames. Second, I think you are entitled to do multiple rendering passes while changing vertices and texture data between one pass and the other.

Tile Based Deferred Renderers like PowerVR chips need to have the complete display list ready before they can begin the hidden surface removal step and shade the visible pixels. So, it would be problematic indeed to change texture and vertex data in the same draw call. You can quickly understand this when you think about polygons: in order to divide them between various screen tiles and to determine their visibility, they first need to "capture" the scene and process it to calculate the data they need. Such data cannot change under their feet of course.
 

M3d10n

Member
For compact scenes viewed at 3DS' res, a 16bit .5k x .5k orthographic-projection-based shadow buffer with PCF can produce very smooth results. With 4 pixel pipelines at 268MHz, even without any zexel-mode optimisations, the gpu should be able to produce 1072G depth samples /sec. IOW, it can fill said buffer in less than a ms. If anything, the vertex and/or trisetup load should be the sole limiting factor for such buffers on the 3DS. And the vertex load would be the same among all shadow techniques (subject to LOD tricks, naturally), so that's rather irrelevant.

Yeah, after seeing Zen Pinball render at 800x480 with 3D on I also think the 3DS would have zero issues filling a 512x512 shadow buffer.

However, when I said "full scene" I meant having the scenery itself cast shadows, while in most games only characters and props do it. That would certain cause an extra vertex load compared to the usual approach.
 
Since I can't think of a better place to ask, I'll ask here:

Does anyone else have major "creaking" issues with their d-pad, and if so, have you found any way to remedy the problem? I found a poster on some other forum saying how WD-40 worked, but I'd hate to try it without hearing that more people have.
 

BDGAME

Member
The bullshots are taken from the dev hardware. All textures, models and effects you see in them are the same as the actual game, only the resolution is increased. Unlike the Wii, the 3DS GPU can render in much higher resolutions if told to.

This is how the game would look on a 3DS emulator, if one is ever made.

Will this mean that a 3DS XL can produce images in this large resolution?


Since I can't think of a better place to ask, I'll ask here:

Does anyone else have major "creaking" issues with their d-pad, and if so, have you found any way to remedy the problem? I found a poster on some other forum saying how WD-40 worked, but I'd hate to try it without hearing that more people have.

I don't have this problem in my 3DS.
 

Relix

he's Virgin Tight™
Wanted to bump this thanks to the barrage of incoming games. I am noticing a trend, especially in ports, where developers specifically say they had to change models or objects to adjust to the 3DS power, but at the same time they add very neat shader effects like in MGS3D. Is this a case where the actual raw power of the GPU is weak (fillrate? polygon pushing?) and the shaders, which I believe are somehow preset (?) work to create a generally more modern image?

I am surprised at some of the things the thing can pull out :p
 

nordique

Member
^ good question


in addition to all that, and regarding the GPU, this system is rendering everything twice


that itself is pretty amazing.
 
in addition to all that, and regarding the GPU, this system is rendering everything twice


that itself is pretty amazing.

Actually that's something I've been wondering about too...

800x240 is still less pixels than 640x480. If the 3DS screen was 640x480, or was literally 800x240 ultra widescreen with no 3D effect, would that be any less taxing on the CPU? In other words, is the whole "rendering twice" thing not really a big deal, since it's just filling pixels the same as it would at a non-3D resolution?
 

Lonely1

Unconfirmed Member
Huh, M3d10n got banned?

Actually that's something I've been wondering about too...

800x240 is still less pixels than 640x480. If the 3DS screen was 640x480, or was literally 800x240 ultra widescreen with no 3D effect, would that be any less taxing on the CPU? In other words, is the whole "rendering twice" thing not really a big deal, since it's just filling pixels the same as it would at a non-3D resolution?

Well, is not as straightforward as rendering twice. In order to get the 3D effect you need to render the same frame with different viewing angles, which needs redrawing (at least a meaningful part of) the geometry. Is not a surprise that polycounts are the area which suffer the most in order to achieve the effect.
 
Top Bottom