Loading...
Searching...
No Matches
simpleMaterial.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the Apache License, Version 2.0 (the "Apache License")
5// with the following modification; you may not use this file except in
6// compliance with the Apache License and the following modification to it:
7// Section 6. Trademarks. is deleted and replaced with:
8//
9// 6. Trademarks. This License does not grant permission to use the trade
10// names, trademarks, service marks, or product names of the Licensor
11// and its affiliates, except as required to comply with Section 4(c) of
12// the License and to reproduce the content of the NOTICE file.
13//
14// You may obtain a copy of the Apache License at
15//
16// http://www.apache.org/licenses/LICENSE-2.0
17//
18// Unless required by applicable law or agreed to in writing, software
19// distributed under the Apache License with the above modification is
20// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21// KIND, either express or implied. See the Apache License for the specific
22// language governing permissions and limitations under the Apache License.
23//
24#ifndef PXR_IMAGING_GLF_SIMPLE_MATERIAL_H
25#define PXR_IMAGING_GLF_SIMPLE_MATERIAL_H
26
28
29#include "pxr/pxr.h"
30#include "pxr/imaging/glf/api.h"
31#include "pxr/base/gf/vec4f.h"
32
33PXR_NAMESPACE_OPEN_SCOPE
34
35
36class GlfSimpleMaterial final {
37public:
38 GLF_API
39 GlfSimpleMaterial();
40 GLF_API
41 ~GlfSimpleMaterial();
42
43 GLF_API
44 GfVec4f const & GetAmbient() const;
45 GLF_API
46 void SetAmbient(GfVec4f const & ambient);
47
48 GLF_API
49 GfVec4f const & GetDiffuse() const;
50 GLF_API
51 void SetDiffuse(GfVec4f const & diffuse);
52
53 GLF_API
54 GfVec4f const & GetSpecular() const;
55 GLF_API
56 void SetSpecular(GfVec4f const & specular);
57
58 GLF_API
59 GfVec4f const & GetEmission() const;
60 GLF_API
61 void SetEmission(GfVec4f const & specular);
62
63 GLF_API
64 double GetShininess() const;
65 GLF_API
66 void SetShininess(double specular);
67
68 GLF_API
69 bool operator ==(GlfSimpleMaterial const & other) const;
70 GLF_API
71 bool operator !=(GlfSimpleMaterial const & other) const;
72
73private:
74 GfVec4f _ambient;
75 GfVec4f _diffuse;
76 GfVec4f _specular;
77 GfVec4f _emission;
78 double _shininess;
79};
80
81
82PXR_NAMESPACE_CLOSE_SCOPE
83
84#endif
Basic type for a vector of 4 float components.
Definition: vec4f.h:63