|
3D-программирование Вопросы, касающиеся программирования 3D мира |
15.06.2009, 21:05
|
#1
|
ПроЭктировщик
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений (для 53 пользователей)
|
ClipPlane из dx7test.dll
Есть вот такие функции в dx7test.dll но как их использовать???
Может кто-то сталкивался??
GetClipPlane%(index,ClipPlane*):"_GetClipPlane@8"
SetClipPlane%(index,ClipPlane*):"_SetClipPlane@8"
|
(Offline)
|
|
15.06.2009, 21:08
|
#2
|
ПроЭктировщик
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений (для 53 пользователей)
|
Ответ: ClipPlane из dx7test.dll
Вот сами dll'ки...
|
(Offline)
|
|
15.06.2009, 21:37
|
#3
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: ClipPlane из dx7test.dll
Ну это клипплейны. Передаешь указатель на него и ДХ будет отсекать геометрию по этой плоскости.
|
(Offline)
|
|
15.06.2009, 23:49
|
#4
|
ПроЭктировщик
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений (для 53 пользователей)
|
Ответ: ClipPlane из dx7test.dll
Сообщение от Knightmare
Ну это клипплейны. Передаешь указатель на него и ДХ будет отсекать геометрию по этой плоскости.
|
Да эт канеш знаю) Но вот видел например пример вообще клипплейна на Блитзе там уж кода многа а это думаю как то быстрее будет и удобней, или я не прав??
Меня интересует как реализовать это отсечение, в смысле примера с использованием этой функции)
|
(Offline)
|
|
15.06.2009, 23:53
|
#5
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: ClipPlane из dx7test.dll
Плоскость в данном случае это a, b, c, d, т.е. 4 флоата. Судя по формату функции она хавает банки блитзевские (хотя могу и ошибатся, не юзал), т.е. банально строишь плоскость (как - знает учебник геометрии), упаковывешь в 16 байтную структуру типа:
struct Plane { float a, b, c, d; };
И передаешь ее указатель в эту функцию (как это конкретно на блитзе делается я хз). Все собственно.
З.Ы. Если памятьь не отказывает железо держит 6 клипплейнов, т.е. index в данном случае длежит в диапазоне [0; 5]
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.06.2009, 00:02
|
#6
|
ПроЭктировщик
Регистрация: 03.05.2009
Адрес: г.Волгоград
Сообщений: 136
Написано 32 полезных сообщений (для 53 пользователей)
|
Ответ: ClipPlane из dx7test.dll
Сообщение от Knightmare
Плоскость в данном случае это a, b, c, d, т.е. 4 флоата. Судя по формату функции она хавает банки блитзевские (хотя могу и ошибатся, не юзал), т.е. банально строишь плоскость (как - знает учебник геометрии), упаковывешь в 16 байтную структуру типа:
struct Plane { float a, b, c, d; };
И передаешь ее указатель в эту функцию (как это конкретно на блитзе делается я хз). Все собственно.
З.Ы. Если памятьь не отказывает железо держит 6 клипплейнов, т.е. index в данном случае длежит в диапазоне [0; 5]
|
Ага, это я тоже слышал но вот смотри на счет плоскости так пайдет?
иль чисто CreatePlane() ???
Global Mesh_layer=CreateMesh()
surf=CreateSurface(Mesh_layer)
ver0= AddVertex (surf,0,0,0,0,1)
ver1= AddVertex (surf,1,0,0,1,1)
ver2= AddVertex (surf,1,1,0,1,0)
ver3= AddVertex (surf,0,1,0,0,0)
AddTriangle (surf,ver2,ver1,ver0) : AddTriangle (surf,ver2,ver0,ver3)
И еще про упаковку в 16 байтовую структуру раскажи не слышал(((
В Ashadow там эта функция в водичке используется...но как работать с ней чет не разберусь((( Собсно мне для этой же цели она и нужна)
|
(Offline)
|
|
16.06.2009, 00:06
|
#7
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: ClipPlane из dx7test.dll
1. Нет так ты не получишь плоскости. Еще раз говорю - учебник геометрии знает формулу плоскости, а также как построить ее по трем точкам например (способов много на самом деле). Ищи, читай.
2. Раздел Bank в хэлпе.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:26.
|