Loading [MathJax]/extensions/tex2jax.js
Photon Engine
2.0.0-beta
A physically based renderer.
Toggle main menu visibility
Home
Components
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
a
b
c
d
e
f
g
h
k
m
p
r
s
t
u
x
y
z
Typedefs
a
b
c
d
e
f
h
i
k
l
m
p
q
r
s
t
v
Enumerations
e
Enumerator
Concepts
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
i
k
m
n
o
p
r
s
t
v
w
Enumerations
Related Symbols
Files
File List
File Members
All
b
c
f
i
k
m
p
s
Functions
Typedefs
Macros
▼
Photon Engine
Home
Components
►
Engine
►
Engine Directories
Bibliography
►
Namespaces
►
Concepts
►
Classes
▼
Files
▼
File List
Documentation
►
Include
▼
Source
►
Actor
►
Api
►
Common
▼
Core
►
Emitter
►
Estimator
►
Filmic
►
Intersection
►
LTA
►
Quantity
►
Receiver
►
Renderer
▼
SampleGenerator
►
Halton
►
SampleContext.h
►
SampleFlow.h
SampleGenerator.cpp
►
SampleGenerator.h
►
SamplesND.h
►
SamplesNDHandle.h
►
SamplesNDStream.h
►
SampleStage.h
►
SampleStageReviser.h
SGHalton.cpp
►
SGHalton.h
SGStratified.cpp
►
SGStratified.h
SGUniformRandom.cpp
►
SGUniformRandom.h
SGUtil.cpp
►
SGUtil.h
►
Scheduler
►
SurfaceBehavior
►
Texture
►
VolumeBehavior
►
ECoordSys.h
►
Engine.cpp
►
Engine.h
►
FaceTopology.h
FullRay.cpp
►
FullRay.h
HitDetail.cpp
►
HitDetail.h
HitInfo.cpp
►
HitInfo.h
HitProbe.cpp
►
HitProbe.h
►
Ray.h
RayDifferential.cpp
►
RayDifferential.h
►
Sample.h
SurfaceHit.cpp
►
SurfaceHit.h
►
DataIO
►
EngineEnv
►
Frame
►
Math
►
SDL
►
Utility
►
World
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Concepts
Loading...
Searching...
No Matches
SGStratified.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Core/SampleGenerator/SampleGenerator.h
"
4
5
#include <Common/primitive_type.h>
6
7
#include <cstddef>
8
#include <vector>
9
10
namespace
ph
11
{
12
13
// TODO: >= 3-D sample is straightforward
14
15
class
SGStratified
:
public
SampleGenerator
16
{
17
public
:
18
explicit
SGStratified
(std::size_t numSamples);
19
20
std::unique_ptr<SampleGenerator>
makeNewborn
(std::size_t
numSampleBatches
)
const override
;
21
22
private
:
23
void
onRebirth()
override
;
24
25
void
genSamples1D(
26
const
SampleContext
& context,
27
const
SampleStage
& stage,
28
SamplesND
out_samples)
override
;
29
30
void
genSamples2D(
31
const
SampleContext
& context,
32
const
SampleStage
& stage,
33
SamplesND
out_samples)
override
;
34
35
void
reviseSampleStage(
SampleStageReviser
reviser)
override
;
36
37
static
std::vector<std::size_t> reviseDimSizeHints(
38
std::size_t numSamples,
39
const
std::vector<std::size_t>& originalDimSizeHints);
40
};
15
class
SGStratified
:
public
SampleGenerator
{
…
};
41
42
}
// end namespace ph
SampleGenerator.h
ph::SGStratified
Definition
SGStratified.h:16
ph::SGStratified::SGStratified
SGStratified(std::size_t numSamples)
Definition
SGStratified.cpp:16
ph::SGStratified::makeNewborn
std::unique_ptr< SampleGenerator > makeNewborn(std::size_t numSampleBatches) const override
Make a new generator.
Definition
SGStratified.cpp:96
ph::SampleContext
Definition
SampleContext.h:9
ph::SampleGenerator
Generates samples in [0, 1]. Generators of different types produces samples with different properties...
Definition
SampleGenerator.h:35
ph::SampleGenerator::numSampleBatches
std::size_t numSampleBatches() const
Definition
SampleGenerator.h:143
ph::SampleStage
Definition
SampleStage.h:14
ph::SampleStageReviser
Definition
SampleStageReviser.h:12
ph::SamplesND
Definition
SamplesND.h:16
ph
The root for all renderer implementations.
Definition
EEngineProject.h:6
Source
Core
SampleGenerator
SGStratified.h
Generated by
1.11.0