Lightmetrica  0.0.1.50dbee3 (yosakoi)
 All Classes Functions Variables Typedefs Enumerations Enumerator
stub.bsdf.h
1 /*
2  Lightmetrica : A research-oriented renderer
3 
4  Copyright (c) 2014 Hisanari Otsu
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 #ifndef LIB_LIGHTMETRICA_TEST_STUB_BSDF_H
22 #define LIB_LIGHTMETRICA_TEST_STUB_BSDF_H
23 
24 #include "common.h"
25 #include <lightmetrica/bsdf.h>
26 
27 LM_NAMESPACE_BEGIN
28 LM_TEST_NAMESPACE_BEGIN
29 
30 class StubBSDF : public BSDF
31 {
32 public:
33 
34  LM_COMPONENT_IMPL_DEF("stub");
35 
36 public:
37 
38  virtual bool Load(const ConfigNode& node, const Assets& assets) { return true; }
39  virtual bool SampleDirection( const GeneralizedBSDFSampleQuery& query, const SurfaceGeometry& geom, GeneralizedBSDFSampleResult& result ) const { return true; }
40  virtual Math::Vec3 SampleAndEstimateDirection( const GeneralizedBSDFSampleQuery& query, const SurfaceGeometry& geom, GeneralizedBSDFSampleResult& result ) const { return true; }
41  virtual bool SampleAndEstimateDirectionBidir( const GeneralizedBSDFSampleQuery& query, const SurfaceGeometry& geom, GeneralizedBSDFSampleBidirResult& result ) const { return true; }
42  virtual Math::Vec3 EvaluateDirection( const GeneralizedBSDFEvaluateQuery& query, const SurfaceGeometry& geom ) const { return Math::Vec3(); }
43  virtual Math::PDFEval EvaluateDirectionPDF( const GeneralizedBSDFEvaluateQuery& query, const SurfaceGeometry& geom ) const { return Math::PDFEval(); }
44  virtual bool Degenerated() const { return false; }
45  virtual int BSDFTypes() const { return GeneralizedBSDFType::None; }
46 
47 };
48 
49 LM_TEST_NAMESPACE_END
50 LM_NAMESPACE_END
51 
52 #endif // LIB_LIGHTMETRICA_TEST_STUB_BSDF_H
virtual Math::Vec3 SampleAndEstimateDirection(const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleResult &result) const
Definition: stub.bsdf.h:40
virtual bool SampleDirection(const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleResult &result) const
Definition: stub.bsdf.h:39
Definition: generalizedbsdf.h:80
virtual Math::PDFEval EvaluateDirectionPDF(const GeneralizedBSDFEvaluateQuery &query, const SurfaceGeometry &geom) const
Definition: stub.bsdf.h:43
virtual bool SampleAndEstimateDirectionBidir(const GeneralizedBSDFSampleQuery &query, const SurfaceGeometry &geom, GeneralizedBSDFSampleBidirResult &result) const
Definition: stub.bsdf.h:41
Definition: stub.bsdf.h:30
Definition: bsdf.h:33
Definition: assets.h:39
Definition: generalizedbsdf.h:95
virtual Math::Vec3 EvaluateDirection(const GeneralizedBSDFEvaluateQuery &query, const SurfaceGeometry &geom) const
Definition: stub.bsdf.h:42
Definition: surfacegeometry.h:36
virtual bool Load(const ConfigNode &node, const Assets &assets)
Definition: stub.bsdf.h:38
Definition: confignode.h:37
Definition: generalizedbsdf.h:108
virtual int BSDFTypes() const
Definition: stub.bsdf.h:45
Definition: generalizedbsdf.h:122