![]() |
Страницы (2): [1] 2 » Показать все 20 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Проверьте 3DS Loader (https://hlfx.ru/forum/showthread.php?threadid=2879)
Проверьте 3DS Loader
Гляньте пожалуйста код загрузчика 3DS моделей, по неизвестной мне причине, он зависает при загрузке модели в 2 случаях из 3.
И такой еще вопрос. как совместить внутреннюю систему координат модели и систему координат в half-Life, что бы модель рендерилась в нужном месте.
Добавлено 10-06-2011 в 17:51:
А рисовать пытаюсь вот так:
1 | modeldata_t pModelData = Load3DSModel( "car_01.3ds" ); |
2 |
3 |
4 | // --- draw triangle -------------------------- |
5 | gEngfuncs.pTriAPI->RenderMode( kRenderNormal ); |
6 | gEngfuncs.pTriAPI->CullFace( TRI_NONE ); |
7 | gEngfuncs.pTriAPI->Color4f( 1.0, 1.0, 1.0, 120 ); |
8 | gEngfuncs.pTriAPI->Begin( TRI_TRIANGLES ); |
9 |
10 | for( int i = 0; i < pModelData.pTrianglesList->trianglescount; i++ ) |
11 | { |
12 |
13 | gEngfuncs.pTriAPI->TexCoord2f( pModelData.pMappingUV->u[ pModelData.pTrianglesList->pTriangles[i].v0 ], pModelData.pMappingUV->v[ pModelData.pTrianglesList->pTriangles[i].v0 ] ); |
14 | gEngfuncs.pTriAPI->Vertex3f( pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v0 ].x, pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v0 ].y, pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v0 ].z ); |
15 |
16 | gEngfuncs.pTriAPI->TexCoord2f( pModelData.pMappingUV->u[ pModelData.pTrianglesList->pTriangles[i].v1 ], pModelData.pMappingUV->v[ pModelData.pTrianglesList->pTriangles[i].v1 ] ); |
17 | gEngfuncs.pTriAPI->Vertex3f( pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v1 ].x, pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v1 ].y, pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v1 ].z ); |
18 |
19 | gEngfuncs.pTriAPI->TexCoord2f( pModelData.pMappingUV->u[ pModelData.pTrianglesList->pTriangles[i].v2 ], pModelData.pMappingUV->v[ pModelData.pTrianglesList->pTriangles[i].v2 ] ); |
20 | gEngfuncs.pTriAPI->Vertex3f( pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v2 ].x, pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v2 ].y, pModelData.pVertexList->pVertex[ pModelData.pTrianglesList->pTriangles[i].v2 ].z ); |
21 | } |
22 |
23 | gEngfuncs.pTriAPI->End(); |
24 | gEngfuncs.pTriAPI->RenderMode( kRenderNormal ); |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
А что, у меня пашет
Правда не совсем в халфе и не совсем так как ожидалось, но тем не менее -
http://pix.academ.org/img/2011/06/1...8536e2293cd.png
( Танкистам тем кто ничего не понял: на скрине изображена моделька в милкшейпе и загруженная лоадером товарища Fire64, т.к. моделька состоит из множества групп, а товарищ Fire64 этого неучел, его загрузчик загрузил только одну группу в модели, что наглядно видно в окне вьювера)
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
CrazyRussian, а как рисовать загруженную модель в Half-life ?
Свой вариант я написал в первом посте.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Запихал код отрисовки в HUD_DrawNormalTriangles.
Теперь вопрос, а как сместить модель в нужные мне координаты ?
А, все разобрался:
1 | glPushMatrix(); |
2 | glTranslatef(500, 500.0, 0.0); |
3 | ... |
4 |
5 | glPopMatrix(); |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64
Нельзя так делать, даже не буду пояснять, почему - это self-explanatory.
Почему бы не прибавлять 500 к координатам в Vertex3f?
__________________
а зачем прибавлять именно 500?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Перелопатил загрузчик - теперь он грузит все группы и текстуры в модельке, запилил вьювер.
В аттаче вьювер+модель+исходники загрузчика и кусок исходников вьювера занимающийся отрисовкой.
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Вот этот момент в функции CountModelItems не понял.
1 | chunk_id = GetUnShort( pData, dataoffset ); |
2 | chunk_lenght = GetUnInt( pData, dataoffset ); |
3 |
4 |
5 | if( dataoffset> iSize ) |
6 | { |
7 | break; |
8 | } |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
У меня там dataOffset упорно перескакивал за iSize, после долгого битья головой об стену, ничего умнее чем сделать такое условие в голову не пришло ага.
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
а вы дата оффсет муваете и одновременно указатель перематываете?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Сейчас глянул, странно, все чтения данных производятся.
Ты уверен, что нигде не происходит порча хипа ?
Добавлено 11-06-2011 в 00:30:
Да, а данные похоже все же бьются, учитывая, что вьювер открывает только тут модель, что была в архиве, ну и еще парочку. а с остальными стабильно вылетает.
Добавлено 11-06-2011 в 00:51:
Хм интересно, вот эта модель муравья не грузится не моим лоадером, не усовершенствованной версией CrazyRussian.
Однако успешно загружается в MilkShape3D и открывается сторонними вьюверами.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
не уродуйте клиентку поддержкой сторонних форматов.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша, думаешь это лучше сделать на уровне движка ?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Дубль два, переписано с нуля, идиотизма который не понял fire64 нету.
fire64 заделись модельками которые загрузчик не переваривает.
__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов
Временная зона GMT. Текущее время 01:43. | Страницы (2): [1] 2 » Показать все 20 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024