经常有人问我,什么是3D,什么是裸眼3D?什么是全景?什么是VR?什么是AR?
3D先说3D,其实3D就是指的三维,简单说:x、y、z,后面的裸眼3D,全景,VR,AR,MR都离不开这个3D基础。也就是说内容得是3D。
裸眼3D裸眼式3D可分为光屏障式(Barrier)、柱状透镜(Lenticular Lens)技术和指向光源(Directional Backlight)裸眼3D:康得新、超多维、易维视、 立体通、乳园 、全息风扇
技术底层的3D英伟达 3D VISION
3D Vision是NVIDIA显卡的一项3D立体显示技术,配备了相应的3D眼镜等设备3D Vision对硬件要求比较高, 要想体验到3D Vision效果,必须具备三个条件:1、必须使用NVIDIA Geforce 8以上显卡产品。2、必须拥有一台120Hz刷新率的眼镜。3、必须购买NVIDIA的3D Vision眼镜AMD HD3D
基于Radeon系列显卡的立体成像显示技术,AMD HD3D支持Bit Cauldron、XpanD、RealD、YANTOK等多种3D立体解决方案,提供对蓝光3D电影完全解码和DirectX 9、DirectX 10、DirectX 11游戏支持 硬件采集卡软件切换3D
主动立体播放的原理很简单:产生左右眼画面,配合主动式眼镜开闭左右眼,使左眼看到左眼画面,右眼看到右眼画面,通过人眼视觉差产生立体画面。通过软件产生120Hz左右眼交错序列帧画面。
1、打开显示垂直同步功能;2、保证软件产生120FPS的稳定帧率,每帧渲染后增加计数器,根据计数器奇偶选择显示左或右画面。代码语言:javascript复制if (SteroSource_LeftRight == m_StereoSourceType) //L-R
{
if (0 == GetApplication()->m_nFrames % 2) {
tutv = CFloadRect(tutv.left + tutv.top, tutv.right - tutv.width() / 2.0f, tutv.bottom);
}
else {
tutv = CFloadRect(tutv.left + tutv.width() / 2.0f, tutv.top, tutv.right, tutv.bottom);
}
}
else if (SteroSource_RightLeft == m_StereoSourceType) {
if (1 == GetApplication()->m_nFrames % 2) {
tutv = CFloadRect(tutv.left, tutv.top, tutv.right - tutv.width() / 2.0f, tutv.bottom);
}
else {
tutv = CFloadRect(tutv.left + tutv.width() / 2.0f, tutv.top, tutv.right, tutv.bottom);
}
}
else if (SteroSource_TopBottom == m_StereoSourceType) {
if (0 == GetApplication()->m_nFrames % 2) {
tutv = CFloadRect(tutv.left, tutv.top, tutv.right,tutv.bottom - tutv.Height()/2.0f);
}
else{
tutv = CFloadRect(tutv.left + tutv.top+ tutv.Height()/2.0f, tutv.right, tutv.bottom);
}
}
else (SteroSource_BottomTop == m_StereoSourceType)
{
if (1 == GetApplication()->m_nFrames % 2){
tutv = CFloadRect(tutv.left, tutv.top, tutv.right,tutv.bottom - tutv.Height() / 2.0f);
}else
{
tutv = CFloadRect(tutv.left, tutv.top + tutv.Height() / 2.0f, tutv.right, tutv.bottom);
}
}
Render(pSampleRender, GetClientRect(), tutv);
GetApplication() - m_nFrames = GetApplication() - m_nFrames + 1;另外使用主动式眼镜就需要无线发射器,可以选择红外信号,也可以选择射频或者蓝牙等不易干扰的信号发射方式。
全景漫游柱式漫游
720°漫游