Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2007, 12:32   #11
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

ещё одна поправочка: Х-файл - это жэ TextFile?
его открывать нужно как обычный текстовый файл? Например вот так:

Цитата:
procedure TGLMesh.LoadFromFile; // Загрузка файла
var
f : TextFile;
S : String;
i : Integer;
Vertex : TGLVertex;
Face : TGLFace;
MaxVertex : GLFloat;
begin
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 24.07.2007, 14:29   #12
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Цитата:
это жэ TextFile?
Да. А что, что-то смущает?
Carbon вне форума Ответить с цитированием
Старый 24.07.2007, 19:08   #13
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

извените за обёмность, но что это такое в начале файла? Случайно не код С++. Я не понимаю причом здесь код к обекту?
Обясните пожалуста структуру этого ТЕКСТОВОГО ФАЙЛА, если можно по шагам(что? где? как?), ато мне он выглядит сложнее 3DS
Заранее ОГРОМНО БЛАГОДАРЕН!

Цитата:
xof 0302txt 0032
Header {
1;
0;
1;
}
template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}

template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}

template Coords2d {
<F6F23F44-7686-11cf-8F52-0040333594A3>
FLOAT u;
FLOAT v;
}

template Matrix4x4 {
<F6F23F45-7686-11cf-8F52-0040333594A3>
array FLOAT matrix[16];
}

template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}

template ColorRGB {
<D3E16E81-7835-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
}

template TextureFilename {
<A42790E1-7810-11cf-8F52-0040333594A3>
STRING filename;
}

template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[...]
}

template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}

template MeshTextureCoords {
<F6F23F40-7686-11cf-8F52-0040333594A3>
DWORD nTextureCoords;
array Coords2d textureCoords[nTextureCoords];
}

template MeshMaterialList {
<F6F23F42-7686-11cf-8F52-0040333594A3>
DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}

template MeshNormals {
<F6F23F43-7686-11cf-8F52-0040333594A3>
DWORD nNormals;
array Vector normals[nNormals];
DWORD nFaceNormals;
array MeshFace faceNormals[nFaceNormals];
}

template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[...]
}

template FrameTransformMatrix {
<F6F23F41-7686-11cf-8F52-0040333594A3>
Matrix4x4 frameMatrix;
}

template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[...]
}
template FloatKeys {
<10DD46A9-775B-11cf-8F52-0040333594A3>
DWORD nValues;
array FLOAT values[nValues];
}

template TimedFloatKeys {
<F406B180-7B3B-11cf-8F52-0040333594A3>
DWORD time;
FloatKeys tfkeys;
}

template AnimationKey {
<10DD46A8-775B-11cf-8F52-0040333594A3>
DWORD keyType;
DWORD nKeys;
array TimedFloatKeys keys[nKeys];
}

template AnimationOptions {
<E2BF56C0-840F-11cf-8F52-0040333594A3>
DWORD openclosed;
DWORD positionquality;
}

template Animation {
<3D82AB4F-62DA-11cf-AB39-0020AF71E433>
[...]
}

template AnimationSet {
<3D82AB50-62DA-11cf-AB39-0020AF71E433>
[Animation]
}
Frame Frm-Sphere01 {
FrameTransformMatrix {
1.000000,0.000000,0.000000,0.000000 ,
0.000000,0.000000,-1.366476,0.000000,
0.000000,1.460869,0.000000,0.000000 ,
77.125336,-20.755247,267.712158,1.000000;;
Mesh Sphere01 { и тд. и тп. ....
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 25.07.2007, 14:39   #14
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

xof 0302txt 0032

Эта строка показывает, что это действительно Х файл, причём текстовый. 0302 - не помню, чтотакое. 0032 - сколько бит на данное.

template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}

Это шаблон. Он показывает способ описания заголовка. В начале находится идентификатор. Затем показывается его поля.

Далее в твоём описании перечисляются все типы данных, которые могут встретиться в файле.

Vector вектор
Coords2d 2д координата
Matrix4x4 матрица 4х4
ColorRGBA цвет с альфа каналом
ColorRGB цвет
TextureFilename имя текстуры
Material материал
MeshFace что-то связанное с гранями меша
MeshTextureCoords текстурные координаты меша
MeshMaterialList список материалов меша
MeshNormals нормали меша
Mesh меш
FrameTransformMatrix матрица трансформации меша
Frame фрейм
FloatKeys вещественные ключи
TimedFloatKeys временные ключи
AnimationKey ключи анимации
AnimationOptions опции анимации
Animation анимация
AnimationSet множество анимаций

Далее идёт описание фрейма какой-то сферы, её матрица трансформации, а затем должны идти вершины сетки.
Carbon вне форума Ответить с цитированием
Старый 25.07.2007, 15:27   #15
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

Я С, С++ НЕ УЧИЛ
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 25.07.2007, 16:15   #16
Carbon
JAVA BEAN
Участник клуба
 
Аватар для Carbon
 
Регистрация: 22.04.2007
Сообщений: 1,329
По умолчанию

Это к C++ имеет мало отношения. Просто синтаксис описания похож. Да и есть средства автоматического разбора таких файлов. Так что даже напрягаться не надо.
Carbon вне форума Ответить с цитированием
Старый 25.07.2007, 20:07   #17
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

какие средства? ты знаеш их? скинь!... PLEASE!...
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск