Пример #1
0
 private RenderTexture NextRenderTexture(CameraSetup.CameraType camera_type)
 {
     if (camera_type == CameraSetup.CameraType.DEPTH_NORMALS)
     {
         render_texture_depth_index_ = (render_texture_depth_index_ + 1) % render_textures_depth_.Count;
         return(render_textures_depth_[render_texture_depth_index_]);
     }
     else
     {
         render_texture_rgb_index_ = (render_texture_rgb_index_ + 1) % render_textures_rgb_.Count;
         return(render_textures_rgb_[render_texture_rgb_index_]);
     }
 }
Пример #2
0
        // Make sure we have enough of big enough render textures for new
        // batch parameters.
        public void ResetBatch(Camera camera, int batch_size, int width, int height,
                               bool alpha, CameraSetup.CameraType camera_type)
        {
            if (width != width_ || height != height_ || alpha != alpha_)
            {
                captured_images_.Clear();
                width_  = width;
                height_ = height;
                alpha_  = alpha;
            }

            if (camera_type_ != camera_type || camera.name != camera_name_)
            {
                camera_type_ = camera_type;
                camera_name_ = camera.name;
                camera_      = PrepareCamera(camera);
            }

            batch_size_ = batch_size;

            if (captured_images_.Count > 2 * batch_size && batch_size >= 32)
            {
                captured_images_.RemoveRange(batch_size, captured_images_.Count - batch_size);
                return;
            }

            while (captured_images_.Count < batch_size)
            {
                TextureFormat format;
                if (camera_type_ == CameraType.DEPTH_NORMALS)
                {
                    format = TextureFormat.RGBAFloat;
                }
                else
                {
                    format = alpha ? TextureFormat.RGBA32 : TextureFormat.RGB24;
                }
                Texture2D capture_image = new Texture2D(width, height, format, false);
                captured_images_.Add(capture_image);
            }
        }