On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 1
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.01.10 18:21. Заголовок: Управление камерой OpenGL


Скажите, пожалуйста!
Как можно код разделить на разные файлы, так что бы инициализация OpenGL была в одном “ini.cpp” файле а, загрузка или создание и вывод какова ни будь объекта в фтором “obyekt.cpp” а управление описывалось бы им в третьем и т.д.
Можно ссылку на статью или книгу где это описывается.
За ранее огромное спасибо!


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 22 , стр: 1 2 All [только новые]





Пост N: 18
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.01.10 18:42. Заголовок: Для этого есть загол..


Для этого есть заголовочные файлы(.h), в которых описываются прототипы функций, определения инлайн функций, описание классов и структур, определение новых типов, макросы и т.д. и т.п. Эти файлы инклудятся в основной файл либо иной другой (.cpp).
Причём название заголовочного файла должно совпадать с названием исходного файла, с ккоторому он относится ( определение функций, прототипы которых находятся в заголовочном, и т.д и т.п.)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.01.10 19:13. Заголовок: Огромное спасибо!


Огромное спасибо!

Всё оказалось так просто )

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 19
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.01.10 11:27. Заголовок: Всегда пожалуйста. П..


Всегда пожалуйста. Почитай книги Ламота, благо есть в инете электронные варианты. Ищи тут infanata.org/prog

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 80
Зарегистрирован: 14.06.07
Откуда: РОССИЯ, Санкт-Петербург (Екатиренбург)
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.01.10 11:53. Заголовок: ИМХО, Ламот - это уж..


ИМХО, Ламот - это уже совсем не то. Для того чтоб такие простые вещи понять я всем советую Лафоре, еще Липмана можно почитать. У Ламота такой жуткий стиль программирования - что аж зубы сводит. Но как теорию по визуализации для начинающих - вполне...

Все что я говорю,кроме цитат,есть мое ИМХО. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 19.01.10 16:56. Заголовок: )


Огромное спасибо! )

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 22.01.10 17:01. Заголовок: Что бы не создавать новую тему, напишу в этой!


Подскажите, пожалуйста!
Как можно вывести несколько независимых камер, на подобии “3ds Max”?
OpenGL C++

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 21
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 0
ссылка на сообщение  Отправлено: 23.01.10 10:07. Заголовок: попробуй создать доч..


попробуй создать дочерние окна, с соответствующими стилями и на каждый свой девайс. Я давно конечно не работал уже с этим. И правда с опен жл не работал, но думаю там щас всё схоже с директх. Надеюсь суть понятна

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 5
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 08.02.10 14:09. Заголовок: Переменная для имени текстуры


Подскажите, пожалуйста, как можно место phong3.bmp вставить переменную teks, что бы можно её было бы вводить texturer(a, teks);
a = номер текстуры
teks = имя текстуры
texturer(1, phong3.bmp);
texturer(2, phong7.bmp); итд.


Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 34
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 1
ссылка на сообщение  Отправлено: 08.02.10 15:24. Заголовок: Если я правильно пон..


Если я правильно понял вопрос то так
GLuint texture[3];
void texturer(int a, char* teks)
{

// Загрузка картинки
AUX_RGBImageRec *texture1;
texture1 = auxDIBImageLoad (teks);
// Создание текстуры
glGenTextures(1, &texture[a]);
glBindTexture(GL_TEXTURE_2D, texture[a]);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0,
GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
}

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 35
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 1
ссылка на сообщение  Отправлено: 08.02.10 15:34. Заголовок: char strPattern = &#..


char strPattern[] = "phongN.bmp";
for(int i=0; i<MAX_PHONG_NUM_0_9; i++)
{
strPattern[6] = i+0x30; // 'N' <- i+'0'
texturer(i, strPattern);
}
Число одноимённых текстур в данном случаи 10 (0-9). Ну можно конечно и больше сделать. Есть воля для фантазий :)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 08.02.10 18:40. Заголовок: :)


Огромное спасибо! :)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.02.10 20:00. Заголовок: Освещение


Скажите, пожалуйста, почему вместе с объектом (кубом) вращается свет?
Как можно сделать, что бы свет был независим от объекта?
И в данном примере светил прямо на объект, а не периодически пропадал!
За ранее огромное спасибо :)


Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 36
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 1
ссылка на сообщение  Отправлено: 10.02.10 10:02. Заголовок: Во-первых, ОпенЖЛ ни..


Во-первых, ОпенЖЛ никогда не пользовался. Во-вторых, когда я врубил твою демку куб вращался так что я даже не понял что там :) - добавил ограничение числа кадров 30 к/с. В-третьих я так посмотрел без запуска вроде всё норм было, однако предположил, что когда ты задаёшь матрицы вращения и перемещения ты воздействуешь и на вектор света, так и оказалось, так что я перенёс установку вектора света в область кода отрисовки и всё норм. Библиотеки и хидера glaux у меня нету.
Скорее всего
glTranslatef(0, 0, -10);
glRotated(vv, 0.0f, 1.0f, 1.0f);
мы задаем положение камеры, так как я в коде не увидел задание матрицы Камеры.

Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 8
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 12.02.10 20:07. Заголовок: GL_LIGHT


Надеюсь, ещё не надоел с вопросами! :)
Подскажите, пожалуйста, как в GL_LIGHT3 можно занести в переменную место 3.
glEnable(GL_LIGHTnomer);
nomer = 3;

Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 38
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 1
ссылка на сообщение  Отправлено: 13.02.10 09:07. Заголовок: Я так понимаю GL_LIG..


Я так понимаю GL_LIGHT3 это определение типа
#define GL_LIGHT3 3 // -это как я думаю системное определение ОпенЖЛ,тогда
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 39
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 1
ссылка на сообщение  Отправлено: 13.02.10 09:23. Заголовок: А лучше struct Vect..


А лучше
Скрытый текст



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 9
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 11.04.10 08:38. Заголовок: ЗАГРУЗКА И ВЫВОД 3DS ОБЬЕКТА (OpenGL)


Подскажите пожалуйста как можно сделать в этом примере так, чтобы при загрузке модели можно было бы указывать переменную (имя или какой либо номер(tank, 1, 2)):
Load3DS(переменная, “путь к объекту”);
Load3DS(tank, 3ds/kkk3.3DS");
Load3DS(1, 3ds/kkk3.3DS");
Load3DS(2, 3ds/kkk3.3DS");
А при выводе указываешь эту переменную(tank, 1, 2) и он выводит этот объект.
ris3DS(tank);
ris3DS(1);
ris3DS(2);

Скрытый текст

И как в этом коде можно сделать что бы загружались все объекты сцены, а не последняя?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 49
Зарегистрирован: 10.05.07
Откуда: Россия, Казань
Рейтинг: 2
ссылка на сообщение  Отправлено: 11.04.10 19:32. Заголовок: Правильно бы было на..


Правильно бы было написать две функции LoadObjectFrom3DS и UnLoadObject ,
первая ф-ия занимается следующим: открывает файл по указ. адресу, читает заголовок файла(делает проверку формата и т.п.), выделяет память под требуемое количество вершин(динамически, а не как у тебя статически массивом), производит чтение вершин и свойств в память из файла, закрывает файл;
вторая ф-ция занимается освобождением памяти, выделенной первой.
Я так думаю будет лучше.
Насчет второго вопроса, используй ф-цию типа LoadSceneFrom3DS и UnLoadScene и структуру типа
struct scene_3d
{
uint numobjects;
object_3d* objects;
};
Описанные ф-ии схожи с выше описанными

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 10
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 30.04.10 17:58. Заголовок: Управление камерой OpenGL


Помогите! )
Когда двигаешься прямо и вращяешься вправо влево, то всё нормально работает но при вращении вверх и в низ, особенно разворот на 180 градусов сразу всё управление переворачивает! Вот эту простую проблему мне пока не получаеться решить!
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 11
Зарегистрирован: 09.01.10
Рейтинг: 0
ссылка на сообщение  Отправлено: 01.05.10 18:35. Заголовок: В верх и вниз я разо..


В верх и вниз я разобрался!
Осталось только в право и влево!
И ещё интересно было бы реализовать поворот по оси Z!
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 22 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет