Ответ: OpenGL
Я решил что мне пора за opengl основательно взяться.
Так вот сегодня начал разбираться и непонятна такая вещь: допустим мне надо определённый ректангл закрасить цветом с помощью glClear. В доках написано что можно юзать glScissor. Ок я сделал так: Код:
glEnable( GL_SCISSOR_TEST ); Видимо я что то упустил. |
Ответ: OpenGL
не знаю точно насчёт GL, но вот из dx10-11 убрали фичу клеара ректанглов (в 9 была) по каким-то причинам что типа железо так не умеет нормально делать все равно. советуют рисовать квад с цветом очищения)
т.к. проблема вроде завязана на хардваре, то и в gl возможно то же. --- бррр... похоже это было только в 10, в 11 снова можно клеарить ректанглы. --- а, нет, в 11 тоже нельзя, но можно в 11.1 --- могу точно сказать что в юнити на дх11 клеар делается рисованием квадов |
Ответ: OpenGL
OpenGL очень запутанная вещь!
Собственно да, поэтому и спрашиваю, в d3d9 можно не просто рект закрасить, но и передать массив ректов за один вызов Clear. |
Ответ: OpenGL
Да походу дела на glClear скиссор не влияет, потому что квад обрезается скиссором, а заполнение цвета - нет.
|
Ответ: OpenGL
А тут пишут что все ок: http://gamedev.stackexchange.com/que...e-of-glscissor
|
Ответ: OpenGL
у меня работало.
|
Ответ: OpenGL
Ну что, значит у меня левый opengl =).
Дальше поразбираюсь в нём чтоб хоть как то ориентироваться, тогда может быть попробую поэкспериментировать со скиссором. |
Ответ: OpenGL
у меня правда это было на мульткамерах.
там помимо scissor-a был еще и glViewport |
Ответ: OpenGL
glViewport точно также - работает для выводимых примитивов, но glClear всё равно закрашивает весь экран.
---- Вот еще вопрос: контекст можно создать например через freeglut или через wgl функции winapi. В последних больше всяких настроек, но вообще нужно ли такое количество для среднестатистического opengl движка? И соответственно в Linux чего лучше использовать? |
Ответ: OpenGL
Как включить АА (антиалиазинг) ?? Рисую квадами, так как нужно задавать толщину линии, а glLineWidth не работает. PHP код:
Рисую без шейдеров, так как они для задачи нафиг не нужны, но отрисовать на OpenGL нужно. И пинайте меня, но я рисую без VBO, так как не хотел запариваться . Само рисование: PHP код:
|
Ответ: OpenGL
Если не по доисторическому, то так или иначе надо хоть простейший шейдер таки написать, и передавать в него координаты и цвет. Это не сложно погугли simple opengl shader example и довавь свой uniform.
К слову glLineWidth - устаревшая функция. |
Ответ: OpenGL
pfffff
Код:
glColor4ub(line.color[0], line.color[1], line.color[2],64); |
Ответ: OpenGL
Это понятно, как мне линию сгладить?
Anti-Alias е включается. |
Ответ: OpenGL
Цитата:
Что касается VBO - надо юзать glBufferData, glEnableVertexAttribArray и glVertexAttribPointer (но я не уверен что в последних версиях ОГЛ это труъ путь, хотя в любом случае лучше чем сейчас у тебя). А там хоть каждый вертекс рисуй разным цветом. |
Ответ: OpenGL
PHP код:
Студия 15, GL из под коробки, glew с NuGet UPD. Собрал отдельный проект чисто на С++, все равно вышибает на том же месте. Проект: https://1drv.ms/u/s!AsK_zL9knxgkhiSs321g6ajyy_Ec |
Часовой пояс GMT +4, время: 07:50. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot