Coin3D is Free Software,
published under the
BSD 3-clause license
.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
SoHeightMapToNormalMap.h
1
/**************************************************************************\
2
* Copyright (c) Kongsberg Oil & Gas Technologies AS
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met:
8
*
9
* Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
*
12
* Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* Neither the name of the copyright holder nor the names of its
17
* contributors may be used to endorse or promote products derived from
18
* this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
\**************************************************************************/
32
33
#ifndef COIN_SOHEIGHTMAPTONORMALMAP_H
34
#define COIN_SOHEIGHTMAPTONORMALMAP_H
35
36
#include <Inventor/SbVec2s.h>
37
#include <Inventor/engines/SoTexture2Convert.h>
38
#include <Inventor/fields/SoSFEnum.h>
39
40
class
SbImage
;
41
42
class
COIN_DLL_API
SoHeightMapToNormalMap
:
public
SoTexture2Convert
{
43
typedef
SoTexture2Convert
inherited
;
44
SO_ENGINE_HEADER(
SoHeightMapToNormalMap
);
45
46
public
:
47
static
void
initClass(
void
);
48
SoHeightMapToNormalMap
(
void
);
49
50
enum
NormalMapFormat
{
51
INT8
52
};
53
54
SoSFEnum
format
;
55
56
static
void
convert(
const
unsigned
char
* srcptr,
SbVec2s
size,
int
nc,
SbImage
& dst_out);
57
58
protected
:
59
virtual
void
inputChanged
(
SoField
* which);
60
virtual
void
evaluate
(
void
);
61
62
};
// SoHeightMapToNormalMap
63
64
#endif // !COIN_SOHEIGHTMAPTONORMALMAP_H
SoHeightMapToNormalMap
Engine for computing a normal map from a height map.
Definition:
SoHeightMapToNormalMap.h:42
SoFieldContainer
The SoFieldContainer class is a base class for all classes that contain fields.
Definition:
SoFieldContainer.h:43
SoField
The SoField class is the top-level abstract base class for fields.
Definition:
SoField.h:47
SoSFEnum
The SoSFEnum class is a container for an enum value.
Definition:
SoSFEnum.h:40
SoEngine::inputChanged
virtual void inputChanged(SoField *which)
Definition:
SoEngine.cpp:300
SoHeightMapToNormalMap::format
SoSFEnum format
Definition:
SoHeightMapToNormalMap.h:54
SoTexture2Convert
Abstract base class for texture filtering engines.
Definition:
SoTexture2Convert.h:41
SoHeightMapToNormalMap::NormalMapFormat
NormalMapFormat
Definition:
SoHeightMapToNormalMap.h:50
SoEngine::evaluate
virtual void evaluate(void)=0
SbImage
The SbImage class is an abstract datatype for 2D and 3D images.
Definition:
SbImage.h:46
SbVec2s
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition:
SbVec2s.h:51
include
Inventor
engines
SoHeightMapToNormalMap.h
Generated on Thu Oct 18 2018 20:22:45 for Coin by
doxygen
1.8.14