OSG SDK 使用说明书

一、需求背景

光场显示屏能为地理信息系统、电子沙盘等场景提供更立体的显示效果,为了更好适配类似客户需求及项目,故提供OSG库层级的SDK。

二、需求相关信息

  • SDK名称:臻像光场显示系统开发包--OSG版

  • OSG版本号:见相关文件夹名

  • 平台:win64

  • 编译环境:VS2017

  • 依赖库运行时库:opencv 4.5.4 cuda 11.6

三、需求描述

3.1 在osg中生成光场库的方式

1. 方式一:通过直接生成HUD相机达到光场效果
  • 需初始化HUD相机类 LightFieldNode调用

  • 其构造函数需要设置的参数:场景根节点、场景主相机、需光场化的场景节点、屏幕信息(详情见头文件)、视口背景色

  • 生成相机后,只需将其添加到场景根节点下即可生效。

  • 使用LightFieldNode时,可以通过setFocalLength函数来设置焦距,和焦距处于同一深度的物体将最清晰,离焦距越远的物体会约模糊。

2. 方式二:使用方自行采集视点信息,以达到光场效果。
  • 将采集好的纹理保存成纹理数组

  • 使用Interweave类进行交织渲染,需依次调用createComputeShader和createInterweaveImage函数,输出一张交织纹理。

  • 可以将其放到自定义的HUD上,或者其他地方。

  • 需要注意,交织效果必须全屏并配合光场屏才能显示正确。

四、注意点

  • 此开发包使用时,需要配合蒙版文件和授权文件使用。

    • 蒙版文件和屏幕绑定,一般存在于系统文档目录下的Zreal\Mask.png,如果没有此文件,需联系臻像公司。

    • 授权文件licence.dat需要放到上述文件夹。若出现无法交织的情况,请联系臻像公司,更新授权。

  • 现在给的蒙版文件 Mask.png 匹配的是8k的屏幕,大小是7680*4320,理论上小于这个尺寸的屏幕都能看到初步效果,只是效果多少会有点不对(这个问题不大,因为原本这个文件就是和屏幕绑定,要看效果必须有对应的屏幕)。

  • 如果是异形屏(比如屏幕是不规则的或者长宽有个维度的分辨超限了),那么程序可能会报错出问题。

更新时间: