PMG

Форумы по созданию игр
Текущее время: 13 сен 2026 17:54

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Буф. глубины, цвета +трафареты. Сложение/Вычитание объектов.
СообщениеДобавлено: 17 май 2008 13:54 
Не в сети
Новичок

Зарегистрирован: 17 май 2008 13:22
Сообщения: 3
Вопрос 1:
Как считать буфер (передний,задний и т.д.) глубины в картину ?

Вопрос 2:
Как считать буфер (передний,задний и т.д.) цветов в картину ?

Вопрос 3:
Как считать буфер (передний,задний и т.д.) трафарета в виде цифр и/или картинки ?

Вопрос 4:
ВСЕ ОБЪЕКТЫ РИСУЮТСЯ кол-листами (в них явно задается какая гарнь - передняя/задняя будет отображаться)!!! У меня есть некоторый объект (к примеру квадрат), через него (сквозь него) проходит другой объект (к примеру плоскость под каким-то углом).
Нужно получить изображение плоскости с вырезанной в ней "дыркой" от квадрата (т.е. операция вычитания) и массив цифр или тоже изображение буфера трафарета вот такой вот операции. Как это сделать?


Нужен простой пример программы, желаетельно на Builder и без использования библиотеки glut и glaux.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буф. глубины, цвета +трафареты. Сложение/Вычитание объектов.
СообщениеДобавлено: 19 май 2008 09:02 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
nikotin-red7 писал(а):
Вопрос 1:
Как считать буфер (передний,задний и т.д.) глубины в картину ?

Вопрос 2:
Как считать буфер (передний,задний и т.д.) цветов в картину ?

Вопрос 3:
Как считать буфер (передний,задний и т.д.) трафарета в виде цифр и/или картинки ?


Прочитать можно glReadPixels или glCopyTexSubImage2D (что быстрее).

nikotin-red7 писал(а):
Вопрос 4:
ВСЕ ОБЪЕКТЫ РИСУЮТСЯ кол-листами (в них явно задается какая гарнь - передняя/задняя будет отображаться)!!! У меня есть некоторый объект (к примеру квадрат), через него (сквозь него) проходит другой объект (к примеру плоскость под каким-то углом).
Нужно получить изображение плоскости с вырезанной в ней "дыркой" от квадрата (т.е. операция вычитания) и массив цифр или тоже изображение буфера трафарета вот такой вот операции. Как это сделать?


Нужен простой пример программы, желаетельно на Builder и без использования библиотеки glut и glaux.


OGL такие манипуляции не делает.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буф. глубины, цвета +трафареты. Сложение/Вычитание объектов.
СообщениеДобавлено: 19 май 2008 17:59 
Не в сети
Новичок

Зарегистрирован: 17 май 2008 13:22
Сообщения: 3
Народ если кто знает подскажите как да что, нужно подробное описание дествий и команд или код.

Для MagicWolf:
Спасибо за ответ я знаю что такие функции есть (glReadPixels и glCopyTexSubImage2D) я даже пользовался одной из них (glReadPixels) для считывания конечной картинки в файл картинки.

Только я не знаю, а точнее у меня не получается с ее помощью считать буфер глубины и трафарета, подскажи как это сделать (Нужен код)
А функцией glCopyTexSubImage2D я не пользовался, т.к. не заню как с ней грамотно работать и в чем ее отличие от предыдущей и какая работает быстрей, если можешь подскажи.

По поводу вычитания объектов и т.п. то тут ты не прав OGL такое может делать и веьма успешно, только я не могу разобраться в коде и переделать ее для своего движка.

Все это делается с использованием следующих функций:
Код:
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDepthMask(GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 0, 0);
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);

Только вопрос в том как грамотно и в какой комбинации их использовать чтоб получить скажем вычитание объектов и при этом чтоб сами объекты рисовались с помощью калллистов !?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буф. глубины, цвета +трафареты. Сложение/Вычитание объектов.
СообщениеДобавлено: 20 май 2008 11:11 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
nikotin-red7 писал(а):

Для [color=#FF0000]MagicWolf
:
Спасибо за ответ я знаю что такие функции есть (glReadPixels и glCopyTexSubImage2D) я даже пользовался одной из них (glReadPixels) для считывания конечной картинки в файл картинки.

Только я не знаю, а точнее у меня не получается с ее помощью считать буфер глубины и трафарета, подскажи как это сделать (Нужен код)


glReadPixels пятый параметр - format - GL_COLOR_INDEX/GL_STENCIL_INDEX/GL_DEPTH_COMPONENT. Посмотри описание.

nikotin-red7 писал(а):
А функцией glCopyTexSubImage2D я не пользовался, т.к. не заню как с ней грамотно работать и в чем ее отличие от предыдущей и какая работает быстрей, если можешь подскажи.


Формат текстуры определяется glPixelTransferf, там вроде тоже есть и STENCIL DEPTH.

Конкретный пример, где-то был, но не смог найти его ;(.

nikotin-red7 писал(а):
По поводу вычитания объектов и т.п. то тут ты не прав OGL такое может делать и веьма успешно, только я не могу разобраться в коде и переделать ее для своего движка.

Все это делается с использованием следующих функций:
Код:
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDepthMask(GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 0, 0);
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);

Только вопрос в том как грамотно и в какой комбинации их использовать чтоб получить скажем вычитание объектов и при этом чтоб сами объекты рисовались с помощью калллистов !?


калллистов - что это такое?

Да действительно, что-то такое видел, но не шибко интересовался этим. Может на сайте у Борескова есть?!

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буф. глубины, цвета +трафареты. Сложение/Вычитание объектов.
СообщениеДобавлено: 20 май 2008 21:48 
Не в сети
Новичок

Зарегистрирован: 17 май 2008 13:22
Сообщения: 3
Народ если кто знает подскажите как да что, нужно подробное описание дествий и команд или код.

Для MagicWolf и не только (если кто знает - присоединяйтесь):
Да я знаю какие параметры у функции glReadPixels, я пользовался ей дл яполучения "скриншотов", получить изображение буфера глубины или трафарета тем же способом, только замено йпараметра с GL_RGB на GL_COLOR_INDEX/GL_STENCIL_INDEX/GL_DEPTH_COMPONENT у меня не получается! Массив pBits получается пустой, а "изображение" его - черное! Подскажи как надо делать, проверь у себя, НУЖЕН КОД!!!
Код:

glReadBuffer(GL_FRONT);
glReadPixels(0, 0,width,height, GL_RGB, GL_UNSIGNED_BYTE, pBits);

По поводу glCopyTexSubImage2D - параметры ее тоже узанть не сложно, есть хелпы и т.п. сложнее понять как она все так работает и в чем ее отличие от предыдущей. Опять таки нужен простой код!!!

По поводу каллистов так это списки отображения, ты что не понял или не знаешь?! Это функции типа: glCallList(Number);, если не занаешь что ето такое или как оно работает посмотри хелпы стандартные - это простые функции, а лучше примерчики у Builder-а есть стандартные 2 программки с ее использованием.

Что за Боресков, что за сайт, не говори ты так, не понятно! Кидай сразу ссылки, ведь народ который это читает наверняка тоже не знает!
Жаль что ыт не смог найти код программки, ну может тогда знаешь где достать можно то что мне нужно, кинь ссылки пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Буф. глубины, цвета +трафареты. Сложение/Вычитание объектов.
СообщениеДобавлено: 21 май 2008 12:21 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
nikotin-red7 писал(а):
Народ если кто знает подскажите как да что, нужно подробное описание дествий и команд или код.

Для MagicWolf и не только (если кто знает - присоединяйтесь):
Да я знаю какие параметры у функции glReadPixels, я пользовался ей дл яполучения "скриншотов", получить изображение буфера глубины или трафарета тем же способом, только замено йпараметра с GL_RGB на GL_COLOR_INDEX/GL_STENCIL_INDEX/GL_DEPTH_COMPONENT у меня не получается! Массив pBits получается пустой, а "изображение" его - черное! Подскажи как надо делать, проверь у себя, НУЖЕН КОД!!!


Посмотри вот здесь: http://www.progz.ru/articles.php?view=54 и урок 44 у NeHe

nikotin-red7 писал(а):
По поводу glCopyTexSubImage2D - параметры ее тоже узанть не сложно, есть хелпы и т.п. сложнее понять как она все так работает и в чем ее отличие от предыдущей. Опять таки нужен простой код!!!

Код:
int CImage_OGL:: read ()
{
  if ( yes_pixels == false )
    return IS_ERROR;

  if ( yes_bitmap==true )
    return IS_ERROR;

  glBindTexture(GL_TEXTURE_2D, tex_id);
  glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, x, y, w, h);
  //glReadPixels ( x, y, w, h, format, type, pixels );
  return IS_OK;
}


nikotin-red7 писал(а):
Что за Боресков, что за сайт, не говори ты так, не понятно! Кидай сразу ссылки, ведь народ который это читает наверняка тоже не знает!
Жаль что ыт не смог найти код программки, ну может тогда знаешь где достать можно то что мне нужно, кинь ссылки пожалуйста.


http://steps3d.narod.ru/

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB