CryEngine AR的项目

来自CGTWiki
跳转至:导航搜索

项目概览

要求是60天,我们用120天一定能做成。需要UE4和Cryengine和andriod共同完成。

CryEngine AR项目


一、主机与AR、VR和MR端交互的两种方式

1、有线:主机通过HDMI连接,使用USB与头盔式设备、人眼跟踪和手势识别设备等AR、VR和MR设备进行交互。

2、无线:主机通过WIFI与Android移动端设备进行交互。

二、主机端部分由cryengine完成

1、CE和UE4都支持DX11,通过使用UE4的pix streaming把其插件移植到cryengine上,阅读英文文档,制作cryengine最简单的插件。

2、阅读英文文档,实现屏幕离屏渲染的获取。

3、将渲染好的内容压缩并推流。

4、接收Android端的命令。

三、Android端

1、接收主机的推流并解码。

2、控制指令的发送(有现成的Android SDK)

解决方案

Cryengine 双视点RTT图像的获取与AR畸变调整(许世鑫)

AR的视点设置

  1. 左右格式的cryengine图像的生成

AR的视点变形

onstexpr const char* kDistortionVertexShader =
    R"glsl(
    attribute vec2 a_Position;
    attribute vec2 a_TexCoords;
    varying vec2 v_TexCoords;
    void main() {
      gl_Position = vec4(a_Position, 0, 1);
      v_TexCoords = a_TexCoords;
    })glsl";

constexpr const char* kDistortionFragmentShader =
    R"glsl(
    precision mediump float;
    uniform sampler2D u_Texture;
    uniform vec2 u_Start;
    uniform vec2 u_End;
    varying vec2 v_TexCoords;
    void main() {
      vec2 coords = u_Start + v_TexCoords * (u_End - u_Start);
      gl_FragColor = texture2D(u_Texture, coords);
    })glsl";

windows推流(阮志睿 轩玉)

Android端拉流并播放