Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尘离序散
obs-studio
提交
5e2d283b
O
obs-studio
项目概览
尘离序散
/
obs-studio
与 Fork 源项目一致
从无法访问的项目Fork
通知
30
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
obs-studio
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5e2d283b
编写于
5月 01, 2014
作者:
J
jp9000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
GL/D3D11: Add scissor support
上级
327c2f7a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
21 addition
and
8 deletion
+21
-8
libobs-d3d11/d3d11-subsystem.cpp
libobs-d3d11/d3d11-subsystem.cpp
+10
-5
libobs-opengl/gl-subsystem.c
libobs-opengl/gl-subsystem.c
+11
-3
未找到文件。
libobs-d3d11/d3d11-subsystem.cpp
浏览文件 @
5e2d283b
...
...
@@ -1386,11 +1386,16 @@ void device_getviewport(device_t device, struct gs_rect *rect)
void
device_setscissorrect
(
device_t
device
,
struct
gs_rect
*
rect
)
{
D3D11_RECT
d3drect
;
d3drect
.
left
=
rect
->
x
;
d3drect
.
top
=
rect
->
y
;
d3drect
.
right
=
rect
->
x
+
rect
->
cx
;
d3drect
.
bottom
=
rect
->
y
+
rect
->
cy
;
device
->
context
->
RSSetScissorRects
(
1
,
&
d3drect
);
device
->
rasterState
.
scissorEnabled
=
(
rect
!=
NULL
);
if
(
rect
!=
NULL
)
{
d3drect
.
left
=
rect
->
x
;
d3drect
.
top
=
rect
->
y
;
d3drect
.
right
=
rect
->
x
+
rect
->
cx
;
d3drect
.
bottom
=
rect
->
y
+
rect
->
cy
;
device
->
context
->
RSSetScissorRects
(
1
,
&
d3drect
);
}
}
void
device_ortho
(
device_t
device
,
float
left
,
float
right
,
float
top
,
...
...
libobs-opengl/gl-subsystem.c
浏览文件 @
5e2d283b
...
...
@@ -1180,9 +1180,17 @@ void device_getviewport(device_t device, struct gs_rect *rect)
void
device_setscissorrect
(
device_t
device
,
struct
gs_rect
*
rect
)
{
UNUSED_PARAMETER
(
device
);
glScissor
(
rect
->
x
,
rect
->
y
,
rect
->
cx
,
rect
->
cy
);
if
(
!
gl_success
(
"glScissor"
))
blog
(
LOG_ERROR
,
"device_setscissorrect (GL) failed"
);
if
(
rect
!=
NULL
)
{
glScissor
(
rect
->
x
,
rect
->
y
,
rect
->
cx
,
rect
->
cy
);
if
(
gl_success
(
"glScissor"
)
&&
gl_enable
(
GL_SCISSOR_TEST
))
return
;
}
else
if
(
gl_disable
(
GL_SCISSOR_TEST
))
{
return
;
}
blog
(
LOG_ERROR
,
"device_setscissorrect (GL) failed"
);
}
void
device_ortho
(
device_t
device
,
float
left
,
float
right
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录