Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 23.10.2007, 16:20   #1
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
ScaleEntity & ScaleMesh

Вижу разницу между етими ф-ями, но понять ее не могу !!

ScaleEntity - меняет размер Entity !!
ScaleMesh - меняет размер Mesha !!
а разницы , если Entity у меня Mesh ??

и еще :
если ScaleEntity в цикле, то все норм скалит
ScaleEntity man,1,1,1

если ScaleMesh в цикле, то скалит каждый цыкл
ScaleMesh man,1,1,1
и потом получаем размер меша NaN !!

помогите разобраться !!
(Offline)
 
Ответить с цитированием
Старый 23.10.2007, 18:06   #2
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: ScaleEntity & ScaleMesh

Разница между ними очень велика, а именно- если скалить размер объекта как ЕНТИТИ то размер самого меша не меняется, т.е. меняется размер пивота на котором крепиться меш(вродь так=)) а када меняеш размер мешу то он уже изменяет позиции вершин, для чего ето нада- много где нада, особенно если ты работаеш с перебором треуголдьников + их позициями, например тени, физика ....
(Offline)
 
Ответить с цитированием
Старый 23.10.2007, 18:22   #3
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: ScaleEntity & ScaleMesh

пойняв !! а почему тогда это:
если ScaleEntity в цикле, то все норм скалит
ScaleEntity man,1,1,1

если ScaleMesh в цикле, то скалит каждый цыкл
ScaleMesh man,1,1,1
и потом получаем размер меша NaN !!
(Offline)
 
Ответить с цитированием
Старый 23.10.2007, 18:23   #4
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: ScaleEntity & ScaleMesh

меш - это сама сетка модели в памяти
ентити - ее "отражение", то есть тот же меш но перемноженый на матрицы скейла поворота перемещения.
От одного меша может быть множество "отражений" и у каждого свои параметры.
__________________
(Offline)
 
Ответить с цитированием
Старый 24.10.2007, 13:40   #5
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Re: ScaleEntity & ScaleMesh

Еще могу добавить свои смутные сомнения, возможно у меня параноя, но кажется соскаленные мэши рэндэрятся чуть быстрее чем также сплющенные энтити.
(Offline)
 
Ответить с цитированием
Старый 24.10.2007, 16:42   #6
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: ScaleEntity & ScaleMesh

одинаково
__________________
(Offline)
 
Ответить с цитированием
Старый 24.10.2007, 19:36   #7
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: ScaleEntity & ScaleMesh

я так и не получил прямого ответа на вопрос почему, меш скалится каждый цыкл, а entity тоже, но только это не изменяет видимые размеры меша/ентити ??
(Offline)
 
Ответить с цитированием
Старый 24.10.2007, 20:25   #8
jimon
 
Сообщений: n/a
Re: ScaleEntity & ScaleMesh

как я помню :
ScaleMesh bla,1.1,1.1,1.1 - домножить все координаты меша на 1.1
ScaleEntity bla,1.1,1.1,1.1 - домножить все координаты меша на 1.1
тоесть в первом случае они в цикле будут изменятся
во втором - нет
 
Ответить с цитированием
Старый 24.10.2007, 20:34   #9
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: ScaleEntity & ScaleMesh

ScaleMesh bla,1.1,1.1,1.1 - домножить все координаты меша на 1.1
ScaleEntity bla,1.1,1.1,1.1 - домножить все координаты меша на 1.1
тоесть в первом случае они в цикле будут изменятся
во втором - не
это я тож понимаю, но почему так происходит ??
из-за разницы самих функций в структере или че ??
(Offline)
 
Ответить с цитированием
Старый 24.10.2007, 21:34   #10
jimon
 
Сообщений: n/a
Re: ScaleEntity & ScaleMesh

Меш - масив координат и масив сойденений етих координат
Ентети - ССЫЛКА на ети координаты

к примеру у тебя есть mesh1 и entity1,entity2 которые ссылаются на mesh1

ScaleEntity entity1,2,2,2
ScaleEntity entity2,3,3,3
тут entity2 увеличится в два раза, entity3 увеличится в 3 раза
если опять вызвать ети же команды - ничего не произойдет
потому что оригинальный mesh1 увиличат опять в два раза ..
получим тоже самое

при ScaleMesh mesh1,2,2,2
сам mesh1 увеличится в 2 раза
и entity1,entity2 увеличатся в 2 раза !
 
Ответить с цитированием
Старый 25.10.2007, 03:55   #11
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: ScaleEntity & ScaleMesh

Да вы не так ему обьясняете

IGR

Представь что Entity это мат. матрица, а Mesh - это набор точек в пространстве

Когда ты скейлишь Mesh - координаты всех точек домножаются и изменяют свои положения
При следующем вызове координаты опять домножаются и опять изменяют свое положение, т.е.
- 1.0 * 0.5 = 0.5
- 0.5 * 0.5 = 0.25
- 0.25 * 0.5 = 0.125

А когда ты скелишь Entity - изменяется мат. матрица. А как известно, при отрисовке меша
координаты его точек умножаются на эту матрицу конкретно для рендеринга (локально), т.е.
точки меша не меняют своего положения

Вот формула скейлинга матрицы 4x4
[x  0  0  0]
[0  y  0  0]
[0  0  z  0]
[0  0  0  1]
Как видишь - здесь нет умножения, просто присвоение значения, поэтому с каждым вызовом размер не меняется, т.е
- 1.0 = 0.5 = 0.5
- 0.5 = 0.5 = 0.5
- 0.5 = 0.5 = 0.5

Теперь понятно?
(Offline)
 
Ответить с цитированием
Старый 25.10.2007, 05:13   #12
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: ScaleEntity & ScaleMesh

- Папа, ты сейчас с кем разговаривал ? (с)
__________________
(Offline)
 
Ответить с цитированием
Старый 25.10.2007, 13:07   #13
Damp
Знающий
 
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений
(для 133 пользователей)
Re: ScaleEntity & ScaleMesh

И еще такой вопрос:
-если использовал ScaleEntity не значит ли это, что энтити будет скалится каждый раз перед рэндэром, т.е. не добавляет ли ScaleEntity новых мат.операций над энтити (матрицей) или энтити так и так какбы скалится под 1, даже без использования ScaleEntity?
---
т.е. вопрос в конечном итоге какбы о том кто скалит энтити dx или сам блиц?
(Offline)
 
Ответить с цитированием
Старый 25.10.2007, 13:29   #14
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: ScaleEntity & ScaleMesh

В Блице ты трансформируешь матрицу ентити, а DX уже каждый раз перед выводом меша, устанавливает свою матрицу трансформации (мировую) по той матрице которая у этого ентити. Т.е. неважно скейлил ты матрицу или нет, все равно трансформация будет производиться.
(Offline)
 
Ответить с цитированием
Старый 25.10.2007, 14:08   #15
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: ScaleEntity & ScaleMesh

Теперь понятно?
теперь понятно !!
при scaleentity просто устанавливается новый размер и если значение скала не изменилось, то мы не видим изминений !!
а в случае с scalemesh, там координаты каждой точки меша домножаются и по этому с каждым цыклом он увеличевается !!

всё ясно !! спасибо !!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исчезает child при scaleentity,rotateentity Flash 3D-программирование 13 27.04.2009 01:49
ScaleEntity & ScaleMesh ) Horror 3D-программирование 5 08.07.2007 22:20


Часовой пояс GMT +4, время: 09:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com