DDDengine object formats

3d object, or pure animation only:

The object's name differentiate the usage of it (but not the format of the file):

2_filename.obj : 2 sided object. Normally all object are backfaced.

a_filename.obj : alpha object, this property used in scene file only, but it is stored always.

aa_filename.obj : additive alpha object, without zbuffer write for cone of lights.

b_filename.obj : bone object.


In scene files (.osr by loadworldobject) only, not by loadobj function.

m_filename.obj : morphed object, and the m_filename_2.obj will be loaded automatically as morph phase 2.


Scene file:

Conventions, and optimalisations

-Do not use light, when it is not necessary. (See.: LightsOff() )

-Do not make dynamic buffer (line, and polygon) over 65535 verticess, because it will not run correctly with some video cards, if that does not support the 32 bits indexes. Over DDDengine V2.5 you can create big dynamic buffers without limits (See.: CreateDynamicBuffer)

-Do not make ZERO normal (0,0,0), because the light calculations will be fails on SIS video cards.

-If you need, reset the blending modes after the Light setup.

-Do not enable alternate pixel center in compatibility dialog on ATI, because it hit the “narrow” pixels like the little fonts, and the pixel visiblity test.

-Use low detail geometry for HW shadow.

-Make boundig test for your texts.

-Avoid the detailed 2D texts by font size.

-The matrix calculations can be very expensives.


DDDengine texture formats


jpg: RGB, the jpg2000 is not supported yet.

bmp: P8,RGB

tga: 32bits ARGB tga, it includes alpha channel too.

The textures's name of tga differentiate the usage of it (but not the format of the file):

filename    -    normal texture, without alpha channel.

A_filename    -    use alpha channel, otherwise the alpha will be skiped.

S_filename     -    compressed texture, witht 1 bit alpha channel.


Curretly not supported:

C_filename     -    use colorkey without alpha, the colorkey is the full purple (R=0xff,B=0xff,G=0x00).


Conventions, and optimalisations for PSP


- Use really low polygons, because the psp has low screen resoultion, and you can not enjoy the details on your objects.

- Use low details textures, because the etxture cache it very small, so if you need more detail, so cut your textures into small pieces to avoid the texture cache fail.

- The maxmimum resolution of textures are 512x512, but it is so slow, so use littlke texture, but with more contrast, and sharpness, and more UV tiles.

- The special texture projections, and the multitextures are not supported on PSP.

- Use more vertex color instead of different colored textures.

- DDDengine support  32bits tga for textures, or P8 bmp only on PSP, because it will get a postprocess to optimalize it to the cache of GPU.

- The alpha channel will be drop under 128 in scene mode.

- All file name must be in lowercase, and it does not include special characters.

- All file name can be 30 characters long with extensions.