Open Inventor Release 2025.1.0
 
Loading...
Searching...
No Matches
SoTextureCubeMap.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : VSG (MMM YYYY)
22**=======================================================================*/
23
24
25#ifndef _SO_TEXTURE_CUBE_MAP_
26#define _SO_TEXTURE_CUBE_MAP_
27
28#include <Inventor/fields/SoSFColor.h>
29#include <Inventor/fields/SoSFEnum.h>
30#include <Inventor/fields/SoSFImage.h>
31#include <Inventor/fields/SoMFFilePathString.h>
32#include <Inventor/fields/SoSFBool.h>
33#include <Inventor/fields/SoSFNode.h>
34#include <Inventor/nodes/SoNode.h>
35#include <Inventor/nodes/SoTexture.h>
36#include <Inventor/image/SbRasterImage.h>
37#include <Inventor/sys/SoGLType.h>
38#include <Inventor/threads/SbThreadStorage.h>
39
40class SoSensor;
41class SbThreadRWMutex;
42
45namespace inventor {
46namespace renderer {
47class ShaderStateUniformsTexture;
48class ShaderStateTextureElement;
49}
50}
52
53#ifdef _MSC_VER
54#pragma warning( push )
55#pragma warning(disable:4251)
56#endif
57
59//
60// Class: SoTextureCubeMap
61//
62// Texture node.
63//
65
67typedef SbBool CubeMapPrequalifyFileCallback(const SbString &, void *, SoTextureCubeMap *);
68
69SO_PIMPL_PUBLIC_DECLARATION(SoTextureCubeMap);
70
236class SoTextureCubeMap : public SoTexture {
237
238 SO_NODE_HEADER(SoTextureCubeMap);
239
240 SO_PIMPL_PUBLIC_HEADER(SoTextureCubeMap);
241
242 public:
243
259
288
301
313
314
320
325
326 private:
327 virtual void doAction(SoAction *action);
328 virtual void GLRender(SoGLRenderAction *action);
329
330 static void setPrequalifyFileCallBack(CubeMapPrequalifyFileCallback *p_cb, void *u_data);
331 static CubeMapPrequalifyFileCallback *getPrequalifyFileCallBack( void *&user_data );
332 void allowPrequalifyFile(SbBool);
333 SbBool isAllowPrequalifyFile() const;
334
335
336 private:
337 static void initClass();
338 static void exitClass();
339
340 // Manages field dependencies, when one of them change
341 virtual void fieldHasChanged( SoField *field ); // override of SoFieldContainer
342
343 virtual void copyContents(const SoFieldContainer *fromFC, SbBool copyConnections);
344
345 private:
346 // Reads stuff into instance. Returns FALSE on error.
347 virtual SbBool readInstance(SoInput *in, unsigned short flags);
348
349 virtual ~SoTextureCubeMap();
350
351 friend class SoEnvironmentMap;
354};
355
356#ifdef _MSC_VER
357#pragma warning( pop )
358#endif
359
360#endif /* _SO_TEXTURE_CUBE_MAP_ */
361
362
Class for smart character strings.
Definition SbString.h:202
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Portable readers...
Environment map node.
Base class for all fields.
Definition SoField.h:234
Renders a scene graph using Open Inventor's Render Engine.
Used to read Open Inventor data files.
Definition SoInput.h:363
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Multiple-value f...
friend class SoAction
Definition SoNode.h:472
Field containing an enumerated value.
Definition SoSFEnum.h:89
Field containing a floating-point value.
Definition SoSFFloat.h:78
Field containing a 2D image.
Definition SoSFImage.h:126
Field containing a a node.
Definition SoSFNode.h:97
Abstract base class for Open Inventor sensors.
Definition SoSensor.h:100
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Cube texture map...
friend class inventor::renderer::ShaderStateUniformsTexture
friend class SoEnvironmentMap
SoMFFilePathString filenames
Names file(s) from which to read texture image(s).
SoSFImage imageNegY
See imagePosX.
friend class inventor::renderer::ShaderStateTextureElement
SoTextureCubeMap()
Creates a texture node with default settings.
SoSFImage imageNegZ
See imagePosX.
SoSFEnum wrapR
Indicates what to do when texture coordinates in the R (depth) direction lie outside the range 0-1.
SoSFImage imagePosZ
See imagePosX.
SoSFNode renderToTextureProperty
Specifies an SoRenderToTextureProperty node containing a scene graph that will be rendered to create ...
SoSFEnum wrapT
Indicates what to do when texture coordinates in the T (vertical) direction lie outside the range 0-1...
SoSFImage imagePosY
See imagePosX.
SoSFImage imageNegX
See imagePosX.
SoSFImage imagePosX
Contains an in-memory representation of the texture map.
SoSFFloat HDRIExposure
Specifies an exposure factor when using an HDRI file.
int SbBool
Boolean type.
Definition SbBase.h:87