Home Technical Talk

DS specs

polycounter lvl 15
Offline / Send Message
Polynurb polycounter lvl 15
Hi guys I had some questions about texturing a vehicle to Nintendo DS specs. Does the DS support reflections on car materials from an environment map or a reflection map? Would an artist just basically paint in some static highlights or reflections into the diffuse map for this type of texture. Some info that might help is the limit of a single 256x256 texture or splitting up into smaller textures not to exceed 256 pixels. One last question...and I know this might not be common..but does anyone know where I could see examples of texture sheets for the Nintendo DS as an example or for reference?

Replies

  • Ryan Clark
    Offline / Send Message
    Ryan Clark polycounter lvl 18
    DS hardware doesn't support additive blending. That means reflections will not be easy to do. Ask your programmers, because they will know more specifically what your engine offers. In general, I would not expect reflections.

    The DS can handle textures up to 1024x1024. Your limit is going to be memory, rather than texture resolution: All of a scene's textures need to fit within about 512k of RAM.
  • fade1
    Offline / Send Message
    fade1 polycounter lvl 14
    we here at shin'en have reflection mapping in our engine. it's a "hack" so you need your programmers to implement this as a feature. i wouldn't recommend thinking in higher then 256*256 texture sheets(=64k). you have to squeeze eveerything in your 512k budget, including fonts, hud, etc.. and if you use both screens for 3d it's just 256k for your textures...
    attached are two examples of nanostray1 textures...one organic and one technical

    n1_heuschrecke.bmp
    n1_satellit.bmp
  • Steve Schulze
    Offline / Send Message
    Steve Schulze polycounter lvl 18
    256*256 is enormous. You'll be severely limiting what you can have in your environment and elsewhere if you go using textures that large. 128*128 is generally workable for characters and vehicles and so-forth, though you're better to opt for lower than that if you can get away with it. Be as efficient as you possibly can and you won't have to spend the last couple of months of your project hacking down your models to save memory... if you're lucky.

    I dunno whether I'd be allowed to show off any examples of textures. I'll check with the boss-man and get back to you.
  • Ryan Clark
    Offline / Send Message
    Ryan Clark polycounter lvl 18
    I've seen reflection maps on the DS rendered with modulation instead of additive blending, so the reflection map darkens your base texture instead of brightening it. Is that what you guys are doing, fade1?
  • Eric Chadwick
    I know the iPhone's POWERVR chipset only does multiply (same as modulation?), we're going use multiplied spherical environment mapping with a test project here. I've heard POWERVR is fairly common in higher-end phones, not sure what the DS uses though.
  • Ryan Clark
    Offline / Send Message
    Ryan Clark polycounter lvl 18
    DS uses a proprietary nintendo chipset with some unusual limitations.

    I used a powervr GPU in a Dell Axim pda. It was very powerful. It even had a dot-product operation so it could render normal maps!
  • fade1
    Offline / Send Message
    fade1 polycounter lvl 14
    Ryan Clark wrote: »
    I've seen reflection maps on the DS rendered with modulation instead of additive blending, so the reflection map darkens your base texture instead of brightening it. Is that what you guys are doing, fade1?

    i'm not that much into tech details, but i think i heard something about modulation when the engine coder talked. basically i can use a normal envball to lighten the object/ fake reflections...then we have a blinn shader for realtime highlights.
    we use this trick to fake environment reflections. here is an example with a real soft envmap from nanostray 2. unfortunately it just looks cool when the stuff moves.(just think of terminator 2, with the fluid metal terminator...)
    jul_07.png
  • Ryan Clark
    Offline / Send Message
    Ryan Clark polycounter lvl 18
    @Eric: Hmm... isn't additive blending required by the OpenGL-es spec? I didn't think it was even optional.

    Heck, the iPhone even supports GL_ARB_TEXTURE_ENV_DOT3. So it can do normal mapping but can't do a simple additive blend? That seems weird to me.
    At the least you can do two-pass additive with glBlendFunc(GL_ONE,GL_ONE), right?


    @Fade1: That screenshot looks very nice! What's the game? If it's available I'll pick up a copy.
  • Polynurb
    Offline / Send Message
    Polynurb polycounter lvl 15
    Hey guys thanks for the info and discussion. I am indeed working with 256x256 texture space for a single vehicle. I am losing detail in the down conversion when I start working with a 1024 to paint the textures. Wonder if there's anything I can do to retain some crispness to the texture when I down convert it to a 256x256. I have read about duping the texture on top of itself in Photoshop? I also read about the sharpening of the image too when it's made smaller...I bet there is an ideal interpolation method in Photoshop that wouldn't blur the details all to hell?
  • Ryan Clark
    Offline / Send Message
    Ryan Clark polycounter lvl 18
    I might try an unsharp mask filter on the large image before downsampling it.
  • fade1
    Offline / Send Message
    fade1 polycounter lvl 14
    i would really recommend to work in 1:1 ratio and do detail work with the pencil tool. downsampling will always make your texture worse.
    you might try nearest neighbor option. you have to rework some details, but it stays as crisp as it can stay. ;) or the standard way, with downsampling, then a sharpen filter and use your fade option to see what works best..
  • LoTekK
    Offline / Send Message
    LoTekK polycounter lvl 17
    Is there any particular reason your working texture is 1024^2? If you don't have, say, higher-spec assets using the 1024s, I'd suggest working at the final resolution, ie 256^2. Downsampling at this sort of resolution, as you've already noticed, leaves you with a blurry mess for the most part, requiring additional cleanup time. Why not just work at the final resolution? And downsampling from such a large texture is simply wasteful. Your final texture is 1/16 the size of your working texture!

    On reflection mapping:
    http://payk.drunkencoders.com/Pages/Projects.html
  • Eric Chadwick
    Hey Ryan, thanks for the info. I'll ask the coders what's up with the add, I bet it's just a tradeoff decision.
  • Sage
    Offline / Send Message
    Sage polycounter lvl 19
    Polynurb just paint it at the actual res or don't go higher than 512 x512 if you plan on bringing it down. Photoshop also has an option to resample an image using bicubic sharper in the image size menu. I think the default is bicubic. You might as well and take a look at how all those options work to see how you like them if you haven't already. Painting at the actual res is the way to go though.


    Not the bests textures in the world, just an example of how much detail you can put into tiny textures.

    m1 abrams 64 x64

    http://apsentertainment.com/previews/m1_ds13.jpg

    p51 mustang 64x64

    http://apsentertainment.com/previews/p51_m04.jpg
  • Polynurb
    Offline / Send Message
    Polynurb polycounter lvl 15
    Guys thanks. I learned a lot from this....I did manage to get my texture down decent enough without it being a tremendously blurry mess...but I had to go back in and repaint some pixels on stuff that got all distorted. Lesson learned here.
  • Steve Schulze
    Offline / Send Message
    Steve Schulze polycounter lvl 18
    If you're working with such a large texture, you're probably going to want it to be a bit soft. Because theres no texture blending on the DS, large textures will get mashed down rather nastily on screen and scintilate (flicker) a lot. If you really do need to use a 256*256 texture, I'd reccomend avoiding any super fine details and use a brush rather than a pencil to paint so you've got a bit of a buffer to reduce the scintilation.

    If you posted a shot of what you've got so far, it'd make it easier to make suggestions.
Sign In or Register to comment.