Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qssgrenderableimage_p.h
Go to the documentation of this file.
1// Copyright (C) 2008-2012 NVIDIA Corporation.
2// Copyright (C) 2019 The Qt Company Ltd.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
4// Qt-Security score:significant reason:default
5
6
7#ifndef QSSG_RENDERABLE_IMAGE_H
8#define QSSG_RENDERABLE_IMAGE_H
9
10//
11// W A R N I N G
12// -------------
13//
14// This file is not part of the Qt API. It exists purely as an
15// implementation detail. This header file may change from version to
16// version without notice, or even be removed.
17//
18// We mean it.
19//
20
21#include <QtQuick3DRuntimeRender/private/qtquick3druntimerenderglobal_p.h>
22#include <QtQuick3DRuntimeRender/private/qssgrenderimage_p.h>
23
24QT_BEGIN_NAMESPACE
25
26// Some precomputed information on a given image. When generating a renderable,
27// the layer preparation step goes through all the possible images on a
28// material (which includes all regular texture maps, but does not include
29// light probes or custom texture properties for custom materials), and for
30// each valid image it generates, if not already done, the QRhiTexture (for the
31// current scene's window, and so render thread), and calculates some other
32// data and flags.
33
34struct QSSGRenderableImage
35{
36 enum class Type : quint8 {
37 Unknown = 0,
38 Diffuse,
39 Opacity,
40 Specular,
41 Emissive,
42 Bump,
43 SpecularAmountMap,
44 Normal,
45 Translucency,
46 Roughness,
47 BaseColor,
48 Metalness,
49 Occlusion,
50 Height,
51 Clearcoat,
52 ClearcoatRoughness,
53 ClearcoatNormal,
54 Transmission,
55 Thickness
56 };
57 const QSSGRenderImage &m_imageNode;
58 QSSGRenderImageTexture m_texture;
59 QSSGRenderableImage *m_nextImage;
60 Type m_mapType;
61 QSSGRenderableImage(Type inMapType, const QSSGRenderImage &inImageNode, const QSSGRenderImageTexture &inTexture)
62 : m_imageNode(inImageNode), m_texture(inTexture), m_nextImage(nullptr), m_mapType(inMapType)
63 {
64 }
65};
66QT_END_NAMESPACE
67#endif