给nDisplay添加内视锥

内视锥是一种在影视制作中用于合成背景的独立视口,它与摄影机参数紧密关联,常用于实时拍摄背景画面,替代后期抠像。通过选择不同类型的相机,如Cinecamera、Composure相机、FreeD协议相机或NDI相机,可以实现高质量的投屏视频。内视锥技术面临的问题包括延迟、摩尔纹等,解决办法包括提升计算设备性能、控制摄影机移动速度、背景虚化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是“内视锥”(就是以投屏的画面为取景背景,加个相机去取景)
“内视锥是叠加在外视锥上层的独立视口,与摄影机内外参数强关联,主要覆盖摄影机取景范围,作为拍摄画面的合成背景使用。内视锥主要用来做摄影机直接拍摄的背景画面,这种摄影机内拍摄合成的方式替代了后期抠像合成,简化了制作流程的同时减少了抠像、擦除等人力劳动。内视锥的渲染画面,由于摄影机位置更新、渲染带来的延迟,以及LED屏像素密度带来的摩尔纹等干扰,所以往往采取提高计算设备性能、减缓摄影机移动速度、将LED屏上背景内容进行小景深虚化处理等方法来规避。”
在这里插入图片描述

2.添加内视锥
在这里插入图片描述
3.选择相机:这个相机可以是关卡序列的Cinecamera,能直接渲染出投屏的视频;
可以是Composure相机
可以是FreeD协议绑定的相机
还可以是NDI相机,能够在switchboard里面投出NDI的画面到你的大屏!(这种方式的画质比Play状态输出的画质更好!)
在这里插入图片描述
在这里插入图片描述

`QOpenGLWidget` 是 Qt 提供的一个用于渲染 OpenGL 内容的类。要判断一个点是否在一个相机的视内,你需要理解相机的视体概念以及如何使用 OpenGL 的矩阵来计算点与视体的关系。 视体是由六个平面定义的:前裁剪平面(near plane)、后裁剪平面(far plane)、左右裁剪平面和上下裁剪平面。通常,通过设置视图矩阵(view matrix)和投影矩阵(projection matrix)来定义这些平面。在透视投影中,视体是形的,而在正交投影中,视体是平行的。 要判断一个点是否在视内,可以按照以下步骤进行: 1. 将点坐标转换到视图空间(从世界坐标转换到相机坐标)。 2. 使用投影矩阵将视图空间的点转换到裁剪空间(clip space)。 3. 检查裁剪空间中的点坐标是否在裁剪平面定义的范围内。 - x, y, z 坐标必须在 [-w, w] 范围内(其中 w 是裁剪空间的 w 坐标)。 - 这一步会涉及到对点进行裁剪测试。 在 OpenGL 中,通常使用 `gluPerspective` 或 `glOrtho` 等函数来设置投影矩阵,而视图矩阵可以通过 `gluLookAt` 来设置。在 Qt 中,可以使用类似的函数来设置 QMatrix4x4,然后使用该矩阵进行坐标变换和裁剪测试。 以下是一个简化的代码示例,说明如何在 Qt OpenGL 环境中进行这种判断: ```cpp // 假设已经定义了视图矩阵 viewMatrix 和投影矩阵 projectionMatrix QVector3D point(1.0f, 2.0f, 3.0f); // 要判断的点的世界坐标 QVector3D pointView = viewMatrix * point; // 转换到视图空间 QVector4D pointClip = projectionMatrix * pointView; // 转换到裁剪空间 // 进行裁剪测试 float w = pointClip.w(); if (w <= 0.0f) { // 点在视体外面 } else { // 点在视体里面,还需要进一步检查 x, y, z 的范围是否在 [-w, w] 之间 if (pointClip.x() >= -w && pointClip.x() <= w && pointClip.y() >= -w && pointClip.y() <= w && pointClip.z() >= -w && pointClip.z() <= w) { // 点在视体内 } else { // 点在视体外 } } ``` 请注意,这里的代码仅仅是一个概念上的示范,实际应用中需要根据具体的场景和坐标系来调整代码细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值