![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: нет Всего: 26 |
Всем здравствуйте.
С кажу сразу, я в 3Д человек новый так что не судите если вопросы пустяковые или не смогу внятно объяснить. Вопрос в следующем Я хочу внутри куба нарисовать определенный объект сначала я рисую объект а потом куб. Если я рисую куб и внутри него куб но меньшего размера, все хорошо, но если я хочу нарисовать что-либо другое например Mesh загруженый из *.Х файла у меня этот объект очень большой и не влазит в мой куб да и в окно тоже. Что-бы его было видно хорошо, я делаю
он уходит вдаль и его не видно. Как мне это исправить. Спс. -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: нет Всего: 26 |
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 1 Всего: 10 |
Ты лучше мировую матрицу транслируй, а не перенаправляй матрицу вида. А еще лучше, пройдись по всем вершинам меша и трансформируй их координаты в соответствии с мировой отмасштабированной и транслированной матрицей. Все равно один раз грузишь, проблем потом будет меньше
-------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: нет Всего: 26 |
А как это сделать? В смысле (трансформируй их координаты) Добавлено через 2 минуты и 27 секунд Гружу из файла функцией D3DXLoadMeshFromX она возвращает ID3DMash из него я могу получить указатель на буфер, из которого потом могу получить указатель на данные и проходя в цикле по всем вершинам, что-то с ними делать? Или как? И что с ними делать? -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: нет Всего: 26 |
Я вот тут набросал кое что, но не доделал, как доделать, подскажите пожалуйста что делать дальше
Это сообщение отредактировал(а) Andrey44 - 16.6.2009, 10:44 -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 1 Всего: 10 |
Лучше вот так
Добавлено @ 16:36 Код не проверял, но вроде должен работать Это сообщение отредактировал(а) BorisVorontsov - 16.6.2009, 17:25 -------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: нет Всего: 26 |
BorisVorontsov, спасибо за подсказку, но сделал немного не так.
Спасибо за наводку в нужную сторону. Это сообщение отредактировал(а) Andrey44 - 17.6.2009, 08:13 -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 1 Всего: 10 |
Ну, если тебе только отмасштабировать нужно, то ладно. Для более сложных манипуляций лучше воспользоваться матрицей
-------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: нет Всего: 26 |
Если не сложно, какие есть более сложные манипуляции? -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| BorisVorontsov |
|
|||
![]() Thinker ![]() ![]() Профиль Группа: Комодератор Сообщений: 714 Регистрация: 3.11.2005 Где: Молдавия, г. Киши нёв Репутация: 1 Всего: 10 |
Масштабирование с поворотом вокруг собственного центра, например...
-------------------- [code=cpp] const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out); for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl; [/code] |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |