ogre.mesh.xml .. more than dtd

What it says on the tin: a place to discuss proposed new features.
Post Reply
User avatar
arturapps
Halfling
Posts: 45
Joined: Tue Sep 26, 2006 3:49 pm
Location: Brazil
Contact:

ogre.mesh.xml .. more than dtd

Post by arturapps »

Hi people!

I´m working on an application that must convert from an specific 3D file format to ogre.mesh.xml format.

So, I started my work reading the files at Ogre\ogrenew\Tools\XMLConverter\docs.

Well... the DTD files are complete and they do a nice work defining the data structure of the XML files, but they do not inform about the meaning of any attribute or element. I have read in these forums , about a lot of users that have the same kind of problem, but the asnwers to them are ever the same : "Read Ogre\ogrenew\Tools\XMLConverter\docs dtd files."

Of course, most elements and attributes are self explanatory for people that are used to work with ogre. But some data do not.

For example: what does this submesh attribute means? usesharedvertices= "true"/"false"

What should I understand? If usesharedvertices= "true" I need to use a unique vertex buffer for all submeshes ?

I think that the dtd files are not enought. We need a data dictionary or reference document!

Ps: Without a data dictionary, may only options are:
1) Ask for help in the forums for every element or attrybute that I don´t understand.
2) Look deep in the source code to get these answers.

the two options above are very time consuming!!!!
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 8
Contact:

Post by haffax »

Most, actually almost all, items are self-explanatory. While more documentation is always nice, priority for this case is low. usesharedvertices means whether this submesh uses the vertexbuffer elements from the mesh's sharedgeometry element rather than having its own vertexbuffers.
It maps to Ogre::SubMesh::useSharedVertices.

What else is unclear?
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
arturapps
Halfling
Posts: 45
Joined: Tue Sep 26, 2006 3:49 pm
Location: Brazil
Contact:

I have another question

Post by arturapps »

The vertexbuffer element of a submesh is declared, in the dtd, as the following:

<!ELEMENT vertexbuffer (vertex+)>
<!ATTLIST vertexbuffer
positions (true|false) "false"
normals (true|false) "false"
colours_diffuse (true|false) "false"
colours_specular (true|false) "false"
texture_coords (0|1|2|3|4|5|6|7|8) "0"
texture_coord_dimensions_0 (0|1|2|3) "2"
texture_coord_dimensions_1 (0|1|2|3) "2"
texture_coord_dimensions_2 (0|1|2|3) "2"
texture_coord_dimensions_3 (0|1|2|3) "2"
texture_coord_dimensions_4 (0|1|2|3) "2"
texture_coord_dimensions_5 (0|1|2|3) "2"
texture_coord_dimensions_6 (0|1|2|3) "2"
texture_coord_dimensions_7 (0|1|2|3) "2">

Question 1: It´s correct to understand that I can have up to 7 texture coordinates for each vertex?

Question 2: Each texture coordinate can be referenced to a texture with up to 3 dimentions ?

Question 3: Why would I like to have more than one texture coordinate for each vertice ?
P
OGRE Expert User
OGRE Expert User
Posts: 421
Joined: Fri Jan 07, 2005 9:49 pm
Location: UK
x 2
Contact:

Post by P »

q1 : up to 8 ( from index 0 to index 7 )

q2 : up to 3 dimensions for adressing in a 3D texture ( could also be used in a shader for other effects )

q3 : one example, a set for the diffuse texture, a set for a scene global lightmap. But they are a lot of situations where you could use several.
Post Reply