VTK
9.1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Rendering
FFMPEGOpenGL2
vtkOpenGLMovieSphere.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkOpenGLMovieSphere.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
32
#ifndef vtkOpenGLMovieSphere_h
33
#define vtkOpenGLMovieSphere_h
34
35
#include "
vtkNew.h
"
// for ivars
36
#include "
vtkOpenGLSkybox.h
"
37
#include "vtkRenderingFFMPEGOpenGL2Module.h"
// For export macro
38
#include <atomic>
// for ivars
39
#include <mutex>
// for ivars
40
41
class
vtkFFMPEGVideoSource
;
42
struct
vtkFFMPEGVideoSourceVideoCallbackData
;
43
class
vtkMutexLock
;
44
class
vtkOpenGLActor
;
45
class
vtkOpenGLPolyDataMapper
;
46
class
vtkTextureObject
;
47
48
class
VTKRENDERINGFFMPEGOPENGL2_EXPORT
vtkOpenGLMovieSphere
:
public
vtkOpenGLSkybox
49
{
50
public
:
51
static
vtkOpenGLMovieSphere
*
New
();
52
vtkTypeMacro(
vtkOpenGLMovieSphere
,
vtkOpenGLSkybox
);
53
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
54
58
void
Render
(
vtkRenderer
* ren,
vtkMapper
* mapper)
override
;
59
60
void
SetVideoSource
(
vtkFFMPEGVideoSource
* val);
61
62
protected
:
63
vtkOpenGLMovieSphere
();
64
~vtkOpenGLMovieSphere
()
override
;
65
66
void
UpdateUniforms
(
vtkObject
*,
unsigned
long
,
void
*);
67
68
vtkNew<vtkTextureObject>
Textures[6];
69
int
BuildIndex
;
70
int
DrawIndex
;
71
int
YTexture
;
72
int
UTexture
;
73
int
VTexture
;
74
75
void
VideoCallback
(
vtkFFMPEGVideoSourceVideoCallbackData
const
& cbd);
76
77
std::mutex
TextureUpdateMutex
;
78
unsigned
char
* TextureData[6];
79
int
ReadIndex
;
// access only within mutex
80
int
WriteIndex
;
81
82
std::atomic<int>
NewData
;
83
std::atomic<int>
HaveData
;
84
85
int
Height
;
86
int
Width
;
87
int
UVHeight
;
88
int
UVWidth
;
89
90
private
:
91
vtkOpenGLMovieSphere
(
const
vtkOpenGLMovieSphere
&) =
delete
;
92
void
operator=(
const
vtkOpenGLMovieSphere
&) =
delete
;
93
};
94
95
#endif
vtkFFMPEGVideoSource
Reader for ffmpeg supported formats.
Definition:
vtkFFMPEGVideoSource.h:68
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:113
vtkMapper
abstract class specifies interface to map data to graphics primitives
Definition:
vtkMapper.h:171
vtkMutexLock
mutual exclusion locking class
Definition:
vtkMutexLock.h:81
vtkNew< vtkTextureObject >
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:73
vtkOpenGLActor
OpenGL actor.
Definition:
vtkOpenGLActor.h:35
vtkOpenGLMovieSphere
OpenGL MovieSphere, an optimized VR sphere for movies.
Definition:
vtkOpenGLMovieSphere.h:49
vtkOpenGLMovieSphere::NewData
std::atomic< int > NewData
Definition:
vtkOpenGLMovieSphere.h:82
vtkOpenGLMovieSphere::SetVideoSource
void SetVideoSource(vtkFFMPEGVideoSource *val)
vtkOpenGLMovieSphere::Render
void Render(vtkRenderer *ren, vtkMapper *mapper) override
Actual MovieSphere render method.
vtkOpenGLMovieSphere::~vtkOpenGLMovieSphere
~vtkOpenGLMovieSphere() override
vtkOpenGLMovieSphere::VTexture
int VTexture
Definition:
vtkOpenGLMovieSphere.h:73
vtkOpenGLMovieSphere::WriteIndex
int WriteIndex
Definition:
vtkOpenGLMovieSphere.h:80
vtkOpenGLMovieSphere::Height
int Height
Definition:
vtkOpenGLMovieSphere.h:85
vtkOpenGLMovieSphere::DrawIndex
int DrawIndex
Definition:
vtkOpenGLMovieSphere.h:70
vtkOpenGLMovieSphere::Width
int Width
Definition:
vtkOpenGLMovieSphere.h:86
vtkOpenGLMovieSphere::UVWidth
int UVWidth
Definition:
vtkOpenGLMovieSphere.h:88
vtkOpenGLMovieSphere::VideoCallback
void VideoCallback(vtkFFMPEGVideoSourceVideoCallbackData const &cbd)
vtkOpenGLMovieSphere::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOpenGLMovieSphere::BuildIndex
int BuildIndex
Definition:
vtkOpenGLMovieSphere.h:69
vtkOpenGLMovieSphere::vtkOpenGLMovieSphere
vtkOpenGLMovieSphere()
vtkOpenGLMovieSphere::ReadIndex
int ReadIndex
Definition:
vtkOpenGLMovieSphere.h:79
vtkOpenGLMovieSphere::TextureUpdateMutex
std::mutex TextureUpdateMutex
Definition:
vtkOpenGLMovieSphere.h:77
vtkOpenGLMovieSphere::New
static vtkOpenGLMovieSphere * New()
vtkOpenGLMovieSphere::YTexture
int YTexture
Definition:
vtkOpenGLMovieSphere.h:71
vtkOpenGLMovieSphere::UTexture
int UTexture
Definition:
vtkOpenGLMovieSphere.h:72
vtkOpenGLMovieSphere::HaveData
std::atomic< int > HaveData
Definition:
vtkOpenGLMovieSphere.h:83
vtkOpenGLMovieSphere::UpdateUniforms
void UpdateUniforms(vtkObject *, unsigned long, void *)
vtkOpenGLMovieSphere::UVHeight
int UVHeight
Definition:
vtkOpenGLMovieSphere.h:87
vtkOpenGLPolyDataMapper
PolyDataMapper using OpenGL to render.
Definition:
vtkOpenGLPolyDataMapper.h:143
vtkOpenGLSkybox
OpenGL Skybox.
Definition:
vtkOpenGLSkybox.h:34
vtkRenderer
abstract specification for renderers
Definition:
vtkRenderer.h:173
vtkTextureObject
abstracts an OpenGL texture object.
Definition:
vtkTextureObject.h:60
vtkFFMPEGVideoSourceVideoCallbackData
Definition:
vtkFFMPEGVideoSource.h:59
vtkNew.h
vtkOpenGLSkybox.h
Generated on Sat Feb 25 2023 08:59:35 for VTK by
1.9.4