File: vtktextureobject.mdc

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (417 lines) | stat: -rw-r--r-- 16,354 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417

 Usage

vtkTextureObject represents an OpenGL texture object. It
provides API to create textures using data already loaded
into pixel buffer objects. It can also be used to create
textures without uploading any data.
To create an instance of class vtkTextureObject, simply
invoke its constructor as follows

    obj = vtkTextureObject



 Methods

The class vtkTextureObject has several methods that can be
used. They are listed below. Note that the documentation is
translated automatically from the VTK sources, and may not
be completely intelligible. When in doubt, consult the VTK
website. In the methods listed below, obj is an instance of
the vtkTextureObject class.

* string = obj.GetClassName ()
* int = obj.IsA (string name)
* vtkTextureObject = obj.NewInstance ()
* vtkTextureObject = obj.SafeDownCast (vtkObject o)
* obj.SetContext (vtkRenderWindow ) - Get/Set the context.
  This does not increase the reference count of the context
  to avoid reference loops. SetContext() may raise an error
  is the OpenGL context does not support the required OpenGL
  extensions.
* vtkRenderWindow = obj.GetContext () - Get/Set the context.
  This does not increase the reference count of the context
  to avoid reference loops. SetContext() may raise an error
  is the OpenGL context does not support the required OpenGL
  extensions.
* int = obj.GetWidth () - Get the texture dimensions. These
  are the properties of the OpenGL texture this instance
  represents.
* int = obj.GetHeight () - Get the texture dimensions. These
  are the properties of the OpenGL texture this instance
  represents.
* int = obj.GetDepth () - Get the texture dimensions. These
  are the properties of the OpenGL texture this instance
  represents.
* int = obj.GetComponents () - Get the texture dimensions.
  These are the properties of the OpenGL texture this
  instance represents.
* int = obj.GetNumberOfDimensions ()
* int = obj.GetTarget () - Returns OpenGL texture target to
  which the texture is/can be bound.
* int = obj.GetHandle () - Returns the OpenGL handle.
* obj.Bind () - Activate the texture. The texture must have
  been created using Create(). RenderWindow must be set
  before calling this.
* obj.UnBind () - Activate the texture. The texture must
  have been created using Create(). RenderWindow must be set
  before calling this.
* bool = obj.IsBound () - Tells if the texture object is
  bound to the active texture image unit. (a texture object
  can be bound to multiple texture image unit).
* obj.SendParameters () - Send all the texture object
  parameters to the hardware if not done yet.


    Precondition:
        is_bound: IsBound()

* bool = obj.Create1D (int numComps, vtkPixelBufferObject
  pbo, bool shaderSupportsTextureInt) - Create a 1D texture
  using the PBO. Eventually we may start supporting creating
  a texture from subset of data in the PBO, but for
  simplicity we'll begin with entire PBO data. numComps must
  be in [1-4]. shaderSupportsTextureInt is true if the
  shader has an alternate implementation supporting sampler
  with integer values. Even if the card supports texture
  int, it does not mean that the implementor of the shader
  made a version that supports texture int.
* bool = obj.Create2D (int width, int height, int numComps,
  vtkPixelBufferObject pbo, bool shaderSupportsTextureInt) -
  Create a 2D texture using the PBO. Eventually we may start
  supporting creating a texture from subset of data in the
  PBO, but for simplicity we'll begin with entire PBO data.
  numComps must be in [1-4].
* bool = obj.CreateDepth (int width, int height, int
  internalFormat, vtkPixelBufferObject pbo) - Create a 2D
  depth texture using a PBO.


    Precondition:
        : valid_internalFormat: internalFormat>=0 &&
        internalFormat<NumberOfDepthFormats

* bool = obj.AllocateDepth (int width, int height, int
  internalFormat) - Create a 2D depth texture but does not
  initialize its values.
* bool = obj.Allocate1D (int width, int numComps, int
  vtkType) - Create a 1D color texture but does not
  initialize its values. Internal format is deduced from
  numComps and vtkType.
* bool = obj.Allocate2D (int width, int height, int
  numComps, int vtkType) - Create a 2D color texture but
  does not initialize its values. Internal format is deduced
  from numComps and vtkType.
* bool = obj.Allocate3D (int width, int height, int depth,
  int numComps, int vtkType) - Create a 3D color texture but
  does not initialize its values. Internal format is deduced
  from numComps and vtkType.
* bool = obj.Create3D (int width, int height, int depth, int
  numComps, vtkPixelBufferObject pbo, bool
  shaderSupportsTextureInt) - Create a 3D texture using the
  PBO. Eventually we may start supporting creating a texture
  from subset of data in the PBO, but for simplicity we'll
  begin with entire PBO data. numComps must be in [1-4].
* bool = obj.Create2D (int width, int height, int numComps,
  int vtktype, bool shaderSupportsTextureInt) - Create
  texture without uploading any data. To create a
  DEPTH_COMPONENT texture, vtktype must be set to VTK_VOID
  and numComps must be 1.
* bool = obj.Create3D (int width, int height, int depth, int
  numComps, int vtktype, bool shaderSupportsTextureInt) -
  Create texture without uploading any data. To create a
  DEPTH_COMPONENT texture, vtktype must be set to VTK_VOID
  and numComps must be 1.
* vtkPixelBufferObject = obj.Download () - This is used to
  download raw data from the texture into a pixel bufer. The
  pixel buffer API can then be used to download the pixel
  buffer data to CPU arrays. The caller takes on the
  responsibility of deleting the returns
  vtkPixelBufferObject once it done with it.
* int = obj.GetDataType () - Get the data type for the
  texture as a vtk type int i.e. VTK_INT etc.
* int = obj.GetInternalFormat (int vtktype, int numComps,
  bool shaderSupportsTextureInt)
* int = obj.GetFormat (int vtktype, int numComps, bool
  shaderSupportsTextureInt)
* int = obj.GetWrapS () - Wrap mode for the first texture
  coordinate "s" Valid values are:

  o Clamp
  o ClampToEdge
  o Repeat
  o ClampToBorder
  o MirroredRepeat Initial value is Repeat (as in OpenGL
    spec)

* obj.SetWrapS (int ) - Wrap mode for the first texture
  coordinate "s" Valid values are:

  o Clamp
  o ClampToEdge
  o Repeat
  o ClampToBorder
  o MirroredRepeat Initial value is Repeat (as in OpenGL
    spec)

* int = obj.GetWrapT () - Wrap mode for the first texture
  coordinate "t" Valid values are:

  o Clamp
  o ClampToEdge
  o Repeat
  o ClampToBorder
  o MirroredRepeat Initial value is Repeat (as in OpenGL
    spec)

* obj.SetWrapT (int ) - Wrap mode for the first texture
  coordinate "t" Valid values are:

  o Clamp
  o ClampToEdge
  o Repeat
  o ClampToBorder
  o MirroredRepeat Initial value is Repeat (as in OpenGL
    spec)

* int = obj.GetWrapR () - Wrap mode for the first texture
  coordinate "r" Valid values are:

  o Clamp
  o ClampToEdge
  o Repeat
  o ClampToBorder
  o MirroredRepeat Initial value is Repeat (as in OpenGL
    spec)

* obj.SetWrapR (int ) - Wrap mode for the first texture
  coordinate "r" Valid values are:

  o Clamp
  o ClampToEdge
  o Repeat
  o ClampToBorder
  o MirroredRepeat Initial value is Repeat (as in OpenGL
    spec)

* int = obj.GetMinificationFilter () - Minification filter
  mode. Valid values are:

  o Nearest
  o Linear
  o NearestMipmapNearest
  o NearestMipmapLinear
  o LinearMipmapNearest
  o LinearMipmapLinear Initial value is Nearest (note
    initial value in OpenGL spec is NearestMipMapLinear but
    this is error-prone because it makes the texture object
    incomplete. ).

* obj.SetMinificationFilter (int ) - Minification filter
  mode. Valid values are:

  o Nearest
  o Linear
  o NearestMipmapNearest
  o NearestMipmapLinear
  o LinearMipmapNearest
  o LinearMipmapLinear Initial value is Nearest (note
    initial value in OpenGL spec is NearestMipMapLinear but
    this is error-prone because it makes the texture object
    incomplete. ).

* bool = obj.GetLinearMagnification () - Tells if the
  magnification mode is linear (true) or nearest (false).
  Initial value is false (initial value in OpenGL spec is
  true).
* obj.SetLinearMagnification (bool ) - Tells if the
  magnification mode is linear (true) or nearest (false).
  Initial value is false (initial value in OpenGL spec is
  true).
* obj.SetBorderColor (float , float , float , float ) -
  Border Color (RGBA). Each component is in [0.0f,1.0f].
  Initial value is (0.0f,0.0f,0.0f,0.0f), as in OpenGL spec.
* obj.SetBorderColor (float a[4]) - Border Color (RGBA).
  Each component is in [0.0f,1.0f]. Initial value is
  (0.0f,0.0f,0.0f,0.0f), as in OpenGL spec.
* float = obj. GetBorderColor () - Border Color (RGBA). Each
  component is in [0.0f,1.0f]. Initial value is
  (0.0f,0.0f,0.0f,0.0f), as in OpenGL spec.
* obj.SetPriority (float ) - Priority of the texture object
  to be resident on the card for higher performance in the
  range [0.0f,1.0f]. Initial value is 1.0f, as in OpenGL
  spec.
* float = obj.GetPriority () - Priority of the texture
  object to be resident on the card for higher performance
  in the range [0.0f,1.0f]. Initial value is 1.0f, as in
  OpenGL spec.
* obj.SetMinLOD (float ) - Lower-clamp the computed LOD
  against this value. Any float value is valid. Initial
  value is -1000.0f, as in OpenGL spec.
* float = obj.GetMinLOD () - Lower-clamp the computed LOD
  against this value. Any float value is valid. Initial
  value is -1000.0f, as in OpenGL spec.
* obj.SetMaxLOD (float ) - Upper-clamp the computed LOD
  against this value. Any float value is valid. Initial
  value is 1000.0f, as in OpenGL spec.
* float = obj.GetMaxLOD () - Upper-clamp the computed LOD
  against this value. Any float value is valid. Initial
  value is 1000.0f, as in OpenGL spec.
* obj.SetBaseLevel (int ) - Level of detail of the first
  texture image. A texture object is a list of texture
  images. It is a non-negative integer value. Initial value
  is 0, as in OpenGL spec.
* int = obj.GetBaseLevel () - Level of detail of the first
  texture image. A texture object is a list of texture
  images. It is a non-negative integer value. Initial value
  is 0, as in OpenGL spec.
* obj.SetMaxLevel (int ) - Level of detail of the first
  texture image. A texture object is a list of texture
  images. It is a non-negative integer value. Initial value
  is 1000, as in OpenGL spec.
* int = obj.GetMaxLevel () - Level of detail of the first
  texture image. A texture object is a list of texture
  images. It is a non-negative integer value. Initial value
  is 1000, as in OpenGL spec.
* bool = obj.GetDepthTextureCompare () - Tells if the output
  of a texture unit with a depth texture uses comparison or
  not. Comparison happens between D_t the depth texture
  value in the range [0,1] and with R the interpolated third
  texture coordinate clamped to range [0,1]. The result of
  the comparison is noted `r'. If this flag is false, r=D_t.
  Initial value is false, as in OpenGL spec. Ignored if the
  texture object is not a depth texture.
* obj.SetDepthTextureCompare (bool ) - Tells if the output
  of a texture unit with a depth texture uses comparison or
  not. Comparison happens between D_t the depth texture
  value in the range [0,1] and with R the interpolated third
  texture coordinate clamped to range [0,1]. The result of
  the comparison is noted `r'. If this flag is false, r=D_t.
  Initial value is false, as in OpenGL spec. Ignored if the
  texture object is not a depth texture.
* int = obj.GetDepthTextureCompareFunction () - In case
  DepthTextureCompare is true, specify the comparison
  function in use. The result of the comparison is noted
  `r'. Valid values are:

  o Value
  o Lequal: r=R<=Dt ? 1.0 : 0.0
  o Gequal: r=R>=Dt ? 1.0 : 0.0
  o Less: r=R<D_t ? 1.0 : 0.0
  o Greater: r=R>Dt ? 1.0 : 0.0
  o Equal: r=R==Dt ? 1.0 : 0.0
  o NotEqual: r=R!=Dt ? 1.0 : 0.0
  o AlwaysTrue: r=1.0
  o Never: r=0.0 If the magnification of minification factor
    are not nearest, percentage closer filtering (PCF) is
    used: R is compared to several D_t and r is the average
    of the comparisons (it is NOT the average of D_t
    compared once to R). Initial value is Lequal, as in
    OpenGL spec. Ignored if the texture object is not a
    depth texture.

* obj.SetDepthTextureCompareFunction (int ) - In case
  DepthTextureCompare is true, specify the comparison
  function in use. The result of the comparison is noted
  `r'. Valid values are:

  o Value
  o Lequal: r=R<=Dt ? 1.0 : 0.0
  o Gequal: r=R>=Dt ? 1.0 : 0.0
  o Less: r=R<D_t ? 1.0 : 0.0
  o Greater: r=R>Dt ? 1.0 : 0.0
  o Equal: r=R==Dt ? 1.0 : 0.0
  o NotEqual: r=R!=Dt ? 1.0 : 0.0
  o AlwaysTrue: r=1.0
  o Never: r=0.0 If the magnification of minification factor
    are not nearest, percentage closer filtering (PCF) is
    used: R is compared to several D_t and r is the average
    of the comparisons (it is NOT the average of D_t
    compared once to R). Initial value is Lequal, as in
    OpenGL spec. Ignored if the texture object is not a
    depth texture.

* int = obj.GetDepthTextureMode () - Defines the mapping
  from depth component `r' to RGBA components. Ignored if
  the texture object is not a depth texture. Valid modes
  are:

  o Luminance: (R,G,B,A)=(r,r,r,1)
  o Intensity: (R,G,B,A)=(r,r,r,r)
  o Alpha: (R.G.B.A)=(0,0,0,r) Initial value is Luminance,
    as in OpenGL spec.

* obj.SetDepthTextureMode (int ) - Defines the mapping from
  depth component `r' to RGBA components. Ignored if the
  texture object is not a depth texture. Valid modes are:

  o Luminance: (R,G,B,A)=(r,r,r,1)
  o Intensity: (R,G,B,A)=(r,r,r,r)
  o Alpha: (R.G.B.A)=(0,0,0,r) Initial value is Luminance,
    as in OpenGL spec.

* bool = obj.GetGenerateMipmap () - Tells the hardware to
  generate mipmap textures from the first texture image at
  BaseLevel. Initial value is false, as in OpenGL spec.
* obj.SetGenerateMipmap (bool ) - Tells the hardware to
  generate mipmap textures from the first texture image at
  BaseLevel. Initial value is false, as in OpenGL spec.
* obj.CopyToFrameBuffer (int srcXmin, int srcYmin, int
  srcXmax, int srcYmax, int dstXmin, int dstYmin, int width,
  int height) - Copy a sub-part of the texture (src) in the
  current framebuffer at location (dstXmin,dstYmin).
  (dstXmin,dstYmin) is the location of the lower left corner
  of the rectangle. width and height are the dimensions of
  the framebuffer.

  o texture coordinates are sent on texture coordinate
    processing unit 0.
  o if the fixed-pipeline fragment shader is used, texturing
    has to be set on texture image unit 0 and the texture
    object has to be bound on texture image unit 0.
  o if a customized fragment shader is used, you are free to
    pick the texture image unit you want. You can even have
    multiple texture objects attached on multiple texture
    image units. In this case, you call this method only on
    one of them.


      Precondition:
          positive_srcXmin: srcXmin>=0
          max_srcXmax: srcXmax<this->GetWidth()
          increasing_x: srcXmin<=srcXmax
          positive_srcYmin: srcYmin>=0
          max_srcYmax: srcYmax<this->GetHeight()
          increasing_y: srcYmin<=srcYmax
          positive_dstXmin: dstXmin>=0
          positive_dstYmin: dstYmin>=0
          positive_width: width>0
          positive_height: height>0
          x_fit: destXmin+(srcXmax-srcXmin)<width
          y_fit: destYmin+(srcYmax-srcYmin)<height


* obj.CopyFromFrameBuffer (int srcXmin, int srcYmin, int
  dstXmin, int dstYmin, int width, int height) - Copy a sub-
  part of a logical buffer of the framebuffer (color or
  depth) to the texture object. src is the framebuffer, dst
  is the texture. (srcXmin,srcYmin) is the location of the
  lower left corner of the rectangle in the framebuffer.
  (dstXmin,dstYmin) is the location of the lower left corner
  of the rectangle in the texture. width and height
  specifies the size of the rectangle in pixels. If the
  logical buffer is a color buffer, it has to be selected
  first with glReadBuffer().


    Precondition:
        is2D: GetNumberOfDimensions()==2



* FreeMat_Documentation
* Visualization_Toolkit_Rendering_Classes
* Generated on Thu Jul 25 2013 17:18:35 for FreeMat by
  doxygen_ 1.8.1.1