scissor test fix
This commit is contained in:
parent
6fc69e01c9
commit
b1d432413a
@ -178,7 +178,9 @@ void Window::pushScissor(vec4 area) {
|
|||||||
if (area.z < 0.0f || area.w < 0.0f) {
|
if (area.z < 0.0f || area.w < 0.0f) {
|
||||||
glScissor(0, 0, 0, 0);
|
glScissor(0, 0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
glScissor(area.x, Window::height-area.w, area.z-area.x, area.w-area.y);
|
glScissor(area.x, Window::height-area.w,
|
||||||
|
std::max(0, int(area.z-area.x)),
|
||||||
|
std::max(0, int(area.w-area.y)));
|
||||||
}
|
}
|
||||||
scissorArea = area;
|
scissorArea = area;
|
||||||
}
|
}
|
||||||
@ -193,7 +195,9 @@ void Window::popScissor() {
|
|||||||
if (area.z < 0.0f || area.w < 0.0f) {
|
if (area.z < 0.0f || area.w < 0.0f) {
|
||||||
glScissor(0, 0, 0, 0);
|
glScissor(0, 0, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
glScissor(area.x, Window::height-area.w, area.z-area.x, area.w-area.y);
|
glScissor(area.x, Window::height-area.w,
|
||||||
|
std::max(0, int(area.z-area.x)),
|
||||||
|
std::max(0, int(area.w-area.y)));
|
||||||
}
|
}
|
||||||
if (scissorStack.empty()) {
|
if (scissorStack.empty()) {
|
||||||
glDisable(GL_SCISSOR_TEST);
|
glDisable(GL_SCISSOR_TEST);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user