Модераторы: Rickert, Alexeis, BorisVorontsov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с примитивом 
:(
    Опции темы
Salatovec
Дата 11.11.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Rickert, Вот вопросы возникли) Рисовать полигонами коробочки, сферки, цилиндры - это все конечно хорошо, а вот если более сложная модель? Я хорошо работаю в 3ds maxe, но не знаю как из макса экспортировать в с++. И вот 2 вопроса - собственно как экспортировать и чтоже все таки лучше - рисовать с++ или максом?
PM MAIL   Вверх
Rickert
Дата 12.11.2008, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Salatovec, Конечно же все ресурсы создаются в отдельных проргаммах, а потом импортируются в свой проект. Как это делать? Есть разные способы.
Допустим вам надо загрузить модель из Макса в ваш проект: сохраняем её (или экспортируем) в Obj формат (wavefront OBJ), затем в своём проекте пишем функцию по загрузке этого файла и рисуем, все дела.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 12.11.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Rickert, Спасибо тебе огромнейшее, мне бы только функцию узнать "по загрузке этого файла"  smile 
PM MAIL   Вверх
Rickert
Дата 13.11.2008, 04:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Salatovec, сначала сделай OBJ файл, потом открой его в блокноте и сам всё поймёшь, как его надо читать.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 13.11.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Честно открыл и честно не понял =( smile 
PM MAIL   Вверх
Rickert
Дата 14.11.2008, 05:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Тогда иди на wotsit.org и в поиске вводи "OBJ", среди результатов ищи OBJ wavefront - это и будет описание файла.
Повторяю: никто за тебя ничего не напишет. Понять - помогу, но ты сам должен учиться это делать.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 14.11.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Да я и не прошу за меня всё делать -_- но понять код длинной с байкало амурскую магистраль чето как то не але =\ не могли в пару строк чтоль придумать (
PM MAIL   Вверх
Rickert
Дата 15.11.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Salatovec, Иркутянин чтоли?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Salatovec
Дата 15.11.2008, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Нет, Москвич) если ты об этом
PM MAIL   Вверх
TDM
Дата 15.11.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.2.2006
Где: SPB

Репутация: нет
Всего: нет



Salatovec, 
Если некоторые грани не видны то наверно неправильные координаты вершин.
PM MAIL ICQ   Вверх
Salatovec
Дата 16.11.2008, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Цитата(TDM @ 15.11.2008,  21:57)
Salatovec, 
Если некоторые грани не видны то наверно неправильные координаты вершин.

Нет координаты были верны, дело было в инициализации окна опенджл) но спасибо за ответ)
PM MAIL   Вверх
Salatovec
Дата 16.11.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 9.1.2008

Репутация: нет
Всего: -1



Так, Rickert, вот такой вопрос, вот отрывок кода:

Код

glLoadIdentity();
glColor3f(0.0f,0.0f,1.0f);
glTranslatef(0.0f,0.0f,z);
glRotatef(xrot,0.0f,1.0f,0.0f);
glRotatef(yrot,1.0f,0.0f,0.0f);
glBegin(GL_LINES);
    for(angle=0;angle<=PI2;angle+=0.001)
    {
        glVertex3f(5.85*sin(angle),3.5f,5.85*cos(angle));
        glVertex3f(1.60*sin(angle),0.0f,1.60*cos(angle));
    }
glEnd();

Здесь я рисую усеченный конус, без низа и верха с центром 0, 0 по осям x и y и удаленного на z от наблюдателя, а здесь:
Код

glLoadIdentity();
glTranslatef(0.0,3.5f,z);
glRotatef(xrot,0.0f,1.0f,0.0f);
    glRotatef(yrot,1.0f,0.0f,0.0f);
Torus(0.25f,5.45f);

я рисую тор, который находится внутри конуса на самом верху. Тор и конус связанны друг с другом, это должна быть единая модель, но если я начинаю их вращать, то они вращаются каждый вокруг своей оси. Как мне сделать, чтобы закрепить тор на верхних координатах конуса и он вращался правильно?



Это сообщение отредактировал(а) Salatovec - 16.11.2008, 14:52
PM MAIL   Вверх
TDM
Дата 26.11.2008, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.2.2006
Где: SPB

Репутация: нет
Всего: нет



Salatovec, 
Сперва поворачиваешь а потом перемещаешь ёмаё)
PM MAIL ICQ   Вверх
Gongex
Дата 15.2.2009, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 1.1.2008

Репутация: -1
Всего: 0



Салатовек,я решал такие проблемы,и знаю как отладить чтоб тор вращался нормально.
использовать надо glPushMatrix(); чтобы сохранить вращения и glPopMatrix(); чтобы сбросить все вращения.

Код

glBegin(GL_LINES);
    for(angle=0;angle<=PI2;angle+=0.001)
    {
glPushMatrix();
glTranslatef(0,0,-5);
        glVertex3f(5.85*sin(angle),3.5f,5.85*cos(angle));
        glVertex3f(1.60*sin(angle),0.0f,1.60*cos(angle));
glPopMatrix();    
}
glEnd();

И!

glLoadIdentity();
glPushMatrix();
glTranslatef(0.0,0,-5);
glRotatef(xrot,0.0f,1.0f,0.0f);
    glRotatef(yrot,1.0f,0.0f,0.0f);
Torus(0.25f,5.45f);
glPopMatrix();


Добавлено @ 00:23
я сам искал исходник загрузки из 3Дсмакс,и все тупили как жлобы,в итоге я сам нашел код,и он работает.Там формат надо сохранять не в .max а в .3DS.Давай почту кину этот исходник.

Добавлено @ 00:32
Я скомпилил твой код и все зависло.Casel-лишнее.Там уже встроена функция бесконечного рисования 
Это вот она по моему glLoadIdentity();

Добавлено @ 00:33
посмотри чего я достиг,в рисовании опенгл::http://unlater.narod.ru/OpenGl.html
с сентября занимаюсь

Это сообщение отредактировал(а) Alexeis - 24.3.2009, 12:38
PM MAIL   Вверх
Rickert
Дата 15.2.2009, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 2
Всего: 52



Цитата(Salatovec @  16.11.2008,  12:00 Найти цитируемый пост)
я рисую тор, который находится внутри конуса на самом верху. Тор и конус связанны друг с другом, это должна быть единая модель, но если я начинаю их вращать, то они вращаются каждый вокруг своей оси. Как мне сделать, чтобы закрепить тор на верхних координатах конуса и он вращался правильно?

glLoadIdentity(); - Во второй части кода лишнее. Попробуйте без неё.
Цитата(Gongex @  15.2.2009,  00:21 Найти цитируемый пост)
использовать надо glPushMatrix(); чтобы сохранить вращения и glPopMatrix(); чтобы сбросить все вращения.

glPopMatrix() не сбрасывает вращения, а восстанавливает ту матрицу преобразования, которая была сохранена  через glPushMatrix();
Цитата(Gongex @  15.2.2009,  00:21 Найти цитируемый пост)
Это вот она по моему glLoadIdentity();

Это функция сброса матрицы преобразований в первоначальную.



--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.