Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Программирование графики
Перезагрузить страницу Оптимизация PickTri
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Eliace Eliace вне форума
Member
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.12.2003
По умолчанию Оптимизация PickTri - 20.01.2004, 01:42

Может кто-нибудь помочь с оптимизацией выбора грани?

Использую алгоритм с определением барицентрических координат. Вроде все что можно уже вылизал, но падение fps все-равно удержать не могу.
Ответить с цитированием
  (#2 (permalink)) Старый
Rem Rem вне форума
Member
 
Сообщений: 106
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.01.2004
По умолчанию Re: Оптимизация PickTri - 20.01.2004, 13:06

Цитата:
Originally posted by Eliace
[b]Может кто-нибудь помочь с оптимизацией выбора грани?

Использую алгоритм с определением барицентрических координат. Вроде все что можно уже вылизал, но падение fps все-равно удержать не могу.
А можете пояснить алгоритм, а то просто тоже хотел это сделать но не знаю как??? Заранее благодарен.
Ответить с цитированием
  (#3 (permalink)) Старый
Eliace Eliace вне форума
Member
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.12.2003
По умолчанию 20.01.2004, 19:11

Ну, я думал это не секрет.

V = V1*a1 + V2*a2 + V3*a3,

где V - точка пересечения луча с плоскостью грани, а V1, V2, v3 - вершины грани.

Коэффициенты (барицентрич. координаты) составляют выпуклую комбинацию: a1 + a2 + a3 = 1

По построению можно видеть, что треугольник грани (V1V2V3) представляет собой сумму треугольников, образованных V,V1,V2,V3 и отношение суммы их площадей к площади грани должно быть равно 1. Если это не так, то точка находится вне грани

Можно искать только две барицентрические координаты, выразив одну через равенство коэффициентов.
Ответить с цитированием
  (#4 (permalink)) Старый
Rem Rem вне форума
Member
 
Сообщений: 106
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.01.2004
По умолчанию 22.01.2004, 12:16

Цитата:
Originally posted by Eliace
[b]Ну, я думал это не секрет.

V = V1*a1 + V2*a2 + V3*a3,

где V - точка пересечения луча с плоскостью грани, а V1, V2, v3 - вершины грани.

Коэффициенты (барицентрич. координаты) составляют выпуклую комбинацию: a1 + a2 + a3 = 1

По построению можно видеть, что треугольник грани (V1V2V3) представляет собой сумму треугольников, образованных V,V1,V2,V3 и отношение суммы их площадей к площади грани должно быть равно 1. Если это не так, то точка находится вне грани

Можно искать только две барицентрические координаты, выразив одну через равенство коэффициентов.
А у меня еще есть вопрос, может быть вы знаете, как получить декартовы координаты, трехмерного объекта, рисуемого средствами OpenGL или DirectX. Просто я долго думал как это сделать, потому что для того что бы выбрать полигон, нужно получить его координаты, на плоскости, в которую рисуеться объект, а в DirectX и OpenGl я не нашел средств перевода из трех мерных координат, в координаты плоскости на которую, они сейчас выдаються. Заранее благодарен.
Ответить с цитированием
  (#5 (permalink)) Старый
Eliace Eliace вне форума
Member
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.12.2003
По умолчанию 22.01.2004, 14:06

Точно не уверен, но в OpenGL есть такая штука - SelectionBuffer.
Информацию можно найти на http://gamedev.ru

А вот в D3D быстрого способа проекции вершин не знаю.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Rem Rem вне форума
Member
 
Сообщений: 106
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.01.2004
По умолчанию 23.01.2004, 17:24

Цитата:
Originally posted by Eliace
[b]Точно не уверен, но в OpenGL есть такая штука - SelectionBuffer.
Информацию можно найти на http://gamedev.ru

А вот в D3D быстрого способа проекции вершин не знаю.
А разве SelectionBuffer проецирует вершины на плоскость??? Помойму, он просто позволяет организоввывать выбор, объекта в 3D сцене. Заранее благодарен.
Ответить с цитированием
  (#7 (permalink)) Старый
Eliace Eliace вне форума
Member
 
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.12.2003
По умолчанию 23.01.2004, 21:11

D3DXVec3Project(...)
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация SSD Egorro Накопители 0 30.04.2012 13:07
Оптимизация DocRain Любые вопросы от новичков 6 31.03.2012 00:05
Оптимизация Jean-Esther Haskell 2 02.03.2012 00:16
Оптимизация по скорости Кошмар Python 21 29.01.2008 20:19
Многокритериальная оптимизация hector Информационные технологии 7 26.03.2007 18:02
Оптимизация на Builder 6 Романнист C++ Builder 1 18.03.2006 11:05
Оптимизация при работе с HDC atomsk WinAPI 4 27.10.2005 19:35
Где взять VW 5 NC оптимизация 7.2 gerasim_sergey Smalltalk 8 01.06.2004 17:55
Оптимизация для Java eloiman Java 0 25.02.2004 14:27
Оптимизация кода BCB LaMiK C++ Builder 6 18.02.2004 18:26
Оптимизация Anonymous PHP 1 29.01.2004 14:37



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов