[url] http://forum.hiasm.com/forum_serv.php?q=56&id=4292 [/url]
Надумал нырнуть в мир OpenGL. Основное понял но все нюансы неизведаны. Вот начал с простого. Есть файлы *.X это 3D модель. Есть вершины, нормалы, цвета ну и текстуры. Если вершины я понял как показать то с остальним непонятки. Помогите люди знающие OpenGL розпарсить и показать модель. А то чет у меня бурда получилась.
Если поможет [url] https://ru.m.wikipedia.org/wiki/X_(%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2) [/url]
Этот топик читают: Гость
Ответов: 39
Рейтинг: 2
|
|||
карма: 1 |
|
Ответов: 2438
Рейтинг: 693
|
|||
RAWY, вы данные неправильно получаете, дальше на такой схеме не "проедите".
![]() Данные взяты из файла. Отрисовка модели происходит не переборам всех подряд вершин, а по списку (вроде его Faces обычно обзывают): 12; тут вам объясняют что у вас будет 12 треугольников и через запятую индекс строки с координатами вершины (см. схему) Тотже индекс будет и у строки нормали и строки с координатами текстуры.3;2,1,0, 3;3,0,1, 3;6,5,4, 3;7,4,5, 3;10,9,8, 3;11,8,9, 3;14,13,12, 3;15,12,13, 3;18,17,16, 3;19,16,17, 3;22,21,20, 3;23,20,21;; Обратите внимание, что в файле CUB_SKIN.x вам нужно будет создавать модель из прямоугольников. 6; Четвёрочка впереди и четыре индекса через запятую. Но тут страху нет, всего то поменять в Gl_Begin (Начало блока вершин) gbTriangles на gbQuads. 4;0,12,15,3;, 4;4,16,18,6;, 4;9,7,19,21;, 4;1,10,22,13;, 4;14,23,20,17;, 4;2,5,8,11;; Еще меня смущает дублирования списка "Faces" (одинаковый у Mesh RAD_MESH и MeshNormals). Насколько помню обычно при построениях используется только один, возможно в Х файле для вершин и нормалей разные списки. В этом случае немного изменить схему, чтоб для нормалей читался индекс из списка нормалей, а не из списка вершин. |
|||
карма: 11 |
| ||
файлы: 2 | error_x_file.png [27.3KB] [543], chainik_2.sha [6.5KB] [515] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2021-05-21 12:35:24 |
|||
карма: 0 |
|
Ответов: 2438
Рейтинг: 693
|
|||
Изменил название: chainik_2.sha
RAWY, эти ваши файлы *.X какието неправильные. Для построения куба достаточно 8 вершин, а в ваших файлах записывают 24 (8 повторяется 3 раза), зачем такая путаница. ![]() cub.x писал(а): 24;1.229999;0.000000;1.649999;, 0.000000;0.000000;0.000000;, 0.000000;0.000000;1.649999;, 1.229999;0.000000;0.000000;, 1.229999;0.470000;0.000000;, 0.000000;0.470000;1.649999;, 0.000000;0.470000;0.000000;, 1.229999;0.470000;1.649999;, 1.229999;0.000000;1.649999;, 1.229999;0.470000;0.000000;, 1.229999;0.000000;0.000000;, 1.229999;0.470000;1.649999;, 0.000000;0.470000;1.649999;, 1.229999;0.000000;1.649999;, 0.000000;0.000000;1.649999;, 1.229999;0.470000;1.649999;, 0.000000;0.470000;1.649999;, 0.000000;0.000000;0.000000;, 0.000000;0.470000;0.000000;, 0.000000;0.000000;1.649999;, 1.229999;0.470000;0.000000;, 0.000000;0.000000;0.000000;, 1.229999;0.000000;0.000000;, 0.000000;0.470000;0.000000;; |
|||
карма: 11 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2021-05-21 12:35:24 |
|||
карма: 0 |
|
Ответов: 2438
Рейтинг: 693
|
|||
г. RАWY писал(а): А вот те значения из первого списка "2,1,0..." из меш или нормаль взято?sla8a писал(а): Еще меня смущает дублирования списка "Faces" (одинаковый у Mesh RAD_MESH и MeshNormals). г. RАWY писал(а): Вот учел все вашы замичания а что не понятно там я написал. |
|||
карма: 11 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 4 раз(а), последний 2021-05-21 12:35:24 |
|||
карма: 0 |
|
Ответов: 2438
Рейтинг: 693
|
|||
Что за плагин? По ссылке пишет: "Этот документ был удалён из общего доступа."
|
|||
карма: 11 |
|
Ответов: 964
Рейтинг: 12
|
|||
карма: 0 |
|
9