Main Page
Related Pages
Modules
Data Structures
core
include
ai_shader_sss.h
1
/*
2
* Arnold API header file
3
* Copyright (c) 1998-2009 Marcos Fajardo, (c) 2009-2013 Solid Angle SL
4
*/
5
11
#pragma once
12
#include "ai_color.h"
13
14
// forward declaration
15
struct
AtShaderGlobals
;
16
21
AI_API
AtColor
AiBSSRDFCubic
(
const
AtShaderGlobals
* sg,
const
float
* radius,
const
AtColor
* weight,
unsigned
int
num = 1);
22
AI_API
AtColor
AiBSSRDFGaussian
(
const
AtShaderGlobals
* sg,
const
float
* variance,
const
AtColor
* weight,
unsigned
int
num = 1);
23
AI_API
AtColor
AiSSSTraceSingleScatter
(
AtShaderGlobals
* sg,
AtColor
Rd
,
AtColor
mfp,
float
g,
float
eta);
24
AI_API
bool
AiShaderGlobalsFromSSS
(
const
AtShaderGlobals
* sg);
25
33
/*
34
* Point cloud sample distributions
35
*/
36
#define AI_POINTCLOUD_BLUE_NOISE 0x00
37
#define AI_POINTCLOUD_TRIANGLE_MIDPOINT 0x01
38
#define AI_POINTCLOUD_POLYGON_MIDPOINT 0x02
39
40
// Iterator interface
41
struct
AtPointCloudSample
42
{
43
AtPoint
pref_position;
44
AtPoint
world_position;
45
AtVector
normal;
46
AtUInt32
face;
47
AtPoint2
uv;
48
float
area;
49
};
50
struct
AtPointCloudIterator;
51
AI_API AtPointCloudIterator*
AiPointCloudIteratorCreate
(
const
AtShaderGlobals
* sg,
int
distribution,
float
spacing = 0.1f);
52
AI_API
void
AiPointCloudIteratorDestroy
(AtPointCloudIterator* iter);
53
AI_API
AtPointCloudSample
AiPointCloudIteratorGetNext
(AtPointCloudIterator* iter);
54
AI_API
bool
AiPointCloudIteratorFinished
(
const
AtPointCloudIterator* iter);
55
AI_API
AtUInt32
AiPointCloudGetSampleCount
(
const
AtPointCloudIterator* iter);
56
57
/*\}*/
58
59
/*\}*/
© 2009-2013 Solid Angle SL · all rights reserved · www.solidangle.com