Skip to content

SAN #203

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 894 commits into
base: mip-mapping
Choose a base branch
from
Open

SAN #203

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
894 commits
Select commit Hold shift + click to select a range
087ac2f
Merge pull request #152 from AlexanderVeselov/rewrite_rpr_test
yozhijk Jun 7, 2018
b14ba72
Merge pull request #154 from Kvalme/obj_loader
yozhijk Jun 7, 2018
6692170
Implemented UberTree iterator and creation of GraphScheme
Jun 7, 2018
89c936e
Modified UberTreeIterator
Jun 7, 2018
214e398
Partial implementation of the graph_scheme
Jun 7, 2018
487b46b
Merge branch 'master-github' into CMake_VS
Jun 8, 2018
f7e7d6f
added some utility functions to create directory/subdirectories
Jun 8, 2018
0bfc7db
fix build on linux
Jun 8, 2018
3fc1448
Remove TR1 warning
DenisBirukov Jun 8, 2018
f1f4ac3
Merge pull request #157 from Kvalme/gtest_tr1_issue
yozhijk Jun 8, 2018
053d15f
Saved intermidiate result
Jun 8, 2018
09c9d79
Reuse num_shapes_written variable
AlexanderVeselov Jun 8, 2018
0505f02
Fix code review issues
AlexanderVeselov Jun 8, 2018
349a6fe
Implemented remove nodes
Jun 8, 2018
e06216d
Remove extra std::vector with duplicate output names
AlexanderVeselov Jun 8, 2018
cb11c91
Added capability to draw nodes in gui
Jun 8, 2018
6964086
Fix gltf
Kvalme Jun 9, 2018
846819d
Split bxdf.cl into two parts
Kvalme Jun 9, 2018
ec344aa
Move resetting object id in tests
AlexanderVeselov Jun 9, 2018
fc500ff
Update Rpr/RprSupport
Kvalme Jun 9, 2018
9fe3277
Temporary debugging code
Kvalme Jun 9, 2018
e2184bd
Added panning with middle mouse button
Jun 9, 2018
565a84a
Added node drag with mouse
Jun 9, 2018
9100fe5
Bug fix in data model, added drawing of the links between nodes
Jun 9, 2018
80e3c9a
fix mac OSX build error
Jun 11, 2018
16e1169
Merge pull request #153 from harokyang/CMake_VS
yozhijk Jun 11, 2018
43cb3ce
Fix gltf loading
Kvalme Jun 13, 2018
ed1831f
Fixed incorrect ids
Jun 13, 2018
175d842
Fix config manager to use multiple devices
AlexanderVeselov Jun 13, 2018
57461cb
Convert from right-handed to left-handed
Kvalme Jun 13, 2018
523c3a5
Add creating multiple configs in rpr
AlexanderVeselov Jun 13, 2018
533db1a
Added leaf float/float3 nodes value editor, added nodes name
Jun 13, 2018
121b7e1
fix the convert from float3 to float4 textures
RichardGe Jun 13, 2018
73b3229
Add Brdf flag to diffuse layer
AlexanderVeselov Jun 14, 2018
6c40971
Some fixes
AlexanderVeselov Jun 14, 2018
f088de0
Add mirror_x option to EnvLight
Kvalme Jun 14, 2018
677b437
Fix issues from review
AlexanderVeselov Jun 14, 2018
039ce89
Fix unix build
AlexanderVeselov Jun 14, 2018
0f6fb43
Added capability to load float values and texture for uber materials
Jun 14, 2018
0dc7b02
Remoced excess code
Jun 14, 2018
d2c4fa6
merge with master
Jun 14, 2018
e167dd3
returned includig of the ImageIO lib
Jun 14, 2018
b04ac69
fixed build errors after merge
Jun 14, 2018
6b340d1
fixed build errors for linux in uber_node
Jun 14, 2018
0bd3f4b
fixed build error
Jun 14, 2018
2f6aad4
Remove debug code
Kvalme Jun 15, 2018
07b7949
Compilation fixies for osx/ubuntu builds
Jun 15, 2018
f7bf3d4
Merge pull request #159 from GPUOpen-LibrariesAndSDKs/fix-create-imag…
yozhijk Jun 15, 2018
96a2e03
Merge pull request #160 from AlexanderVeselov/fix_backface_lighting
yozhijk Jun 15, 2018
83fdd13
Remove preprocessor
AlexanderVeselov Jun 15, 2018
5c52819
Fix windows build
Kvalme Jun 15, 2018
c9f7e50
Added capability to log camera and light configuration in stanalone. …
Jun 15, 2018
ff33ee1
Merge branch 'master' into fix_gltf
Kvalme Jun 18, 2018
0866352
removed excess anonymous namespace from Application.cpp
Jun 18, 2018
66d252b
Fixed some number signed/unsigned comaprasion warings
Jun 18, 2018
497295a
Fix embed kernels in uberv2
AlexanderVeselov Jun 18, 2018
03c4b3f
Fixed yet another warning
Jun 18, 2018
14b59cf
Format script
AlexanderVeselov Jun 18, 2018
a890a0a
Fix linux build
AlexanderVeselov Jun 18, 2018
c8903fd
continue fixing compilation error
Jun 18, 2018
cd38a2b
Move embed kernels header to build folder, add dependency on kernel f…
AlexanderVeselov Jun 18, 2018
126e2bb
Small fixes
AlexanderVeselov Jun 18, 2018
5377024
Fix misstype
Kvalme Jun 19, 2018
2079647
Merge pull request #163 from Kvalme/fix_gltf
yozhijk Jun 19, 2018
2a9a6ad
Added braces to if, removed excess - operator for ImVec2
Jun 19, 2018
9b874b0
Performed code review comments
Jun 19, 2018
9bfc6d8
Add path to header names, add recursive file search in stringify script
AlexanderVeselov Jun 19, 2018
6b02baa
Fix directory
AlexanderVeselov Jun 19, 2018
0419066
Merge pull request #162 from AvKhokhlov/uber_gui
yozhijk Jun 19, 2018
52fac17
Merge pull request #164 from AlexanderVeselov/rpr_different_gpu
yozhijk Jun 19, 2018
9d01f14
Add ibl_mirror_x argument to Texture_SampleEnvMap
AlexanderVeselov Jun 19, 2018
58d1a4b
Merge branch 'master' into add_aov
AlexanderVeselov Jun 19, 2018
7979cb6
Added folder and first version CMakeList for DataGenerator project
Jun 19, 2018
ad8df68
Updated cmake files to enable generateing new project, removed incorr…
Jun 20, 2018
8dbecbe
Change working directory
AlexanderVeselov Jun 20, 2018
f3a6140
Partial impl of render class in DataGenerator, added new output in Fi…
Jun 20, 2018
b76befb
Merge pull request #161 from AlexanderVeselov/add_aov
yozhijk Jun 21, 2018
4ae12e6
fixed compile flags in cmake files
Jun 21, 2018
b14500f
Added command line parser
Jun 21, 2018
fc47915
Added light config reader
Jun 21, 2018
92452ce
Added camera config reader
Jun 21, 2018
79e1a75
Added loading up vector, partial impl of the GenerateDataset method
Jun 21, 2018
155abad
More GLTF related fixes
DenisBirukov Jun 22, 2018
dbfb771
Added save output method
Jun 22, 2018
79dac1a
Implemented datasset generation, added exception handling in main
Jun 22, 2018
59a65a2
DataGenerator first version
Jun 22, 2018
7f2810f
Fixed camera.xml reading, changed cmd args names
Jun 22, 2018
0b03d75
Merge pull request #166 from Kvalme/gltf_fixes
yozhijk Jun 25, 2018
7c90d6a
Add materials.xml converter
AlexanderVeselov Jun 25, 2018
f0e309f
Replace std::map to std::unordered_map
AlexanderVeselov Jun 25, 2018
b3abaac
Apply gamma to textures
AlexanderVeselov Jun 25, 2018
c8dd7fa
Move gamma correction to different place
AlexanderVeselov Jun 25, 2018
68b55c2
Merge remote-tracking branch 'upstream/master' into data_generator
Jun 25, 2018
0b32f32
Remove obj loading and unused code
AlexanderVeselov Jun 25, 2018
49c72c9
Remove comments from CMakeLists
AlexanderVeselov Jun 25, 2018
dd115e0
Added support of multiple outputs and code for rendering
Jun 25, 2018
b4e98cf
Fixed crash in fill_aov kernel
Jun 25, 2018
3cc612d
Merge pull request #165 from AlexanderVeselov/fix_embed_kernels
yozhijk Jun 26, 2018
0536c36
Fix issues from review
AlexanderVeselov Jun 26, 2018
8ad9e73
Fix Linux errors
AlexanderVeselov Jun 26, 2018
f04ccc8
Account for ior in TranslateSingleBxdfMaterial
AlexanderVeselov Jun 26, 2018
337349e
Use Baikal logging, fix translating passthrough bxdfs
AlexanderVeselov Jun 26, 2018
b6f072f
Remove half.cpp from MaterialConverter build files
AlexanderVeselov Jun 27, 2018
b8beeb0
Minor fixes
AlexanderVeselov Jun 27, 2018
4290409
Fixed incorrect gamma correction, added loading material xml, added n…
Jun 27, 2018
bcd9bdf
Added view_shading_normals
Jun 28, 2018
9edeb20
Fix issues from review №2
AlexanderVeselov Jun 28, 2018
8ca923a
Deleted excess include
Jun 28, 2018
2516fd4
Fixed issue with material loading
Jun 28, 2018
a0dee90
Merge remote-tracking branch 'upstream/master' into data_generator
Jun 28, 2018
250698f
Add some formalization
AlexanderVeselov Jun 29, 2018
6f2eb7a
Merge branch 'master' into material_converter
AlexanderVeselov Jun 29, 2018
0d22fab
Code review
Jun 29, 2018
ac6d319
Implemented common cmd_parser
Jun 29, 2018
30cb4b2
Added c++17 compiler for DataGenerator project, added filesystem from…
Jul 2, 2018
f02875d
Added config loader, changed data generator architecture
Jul 3, 2018
ffe5b1c
Added gamma correction option
Jul 3, 2018
325780c
Code review comments
Jul 4, 2018
6f5fabe
Added new cmd parser
Jul 4, 2018
f7ca72b
code review
Jul 4, 2018
0eaa9b4
Performed code review comments
Jul 5, 2018
b267571
Merge pull request #169 from AlexanderVeselov/material_converter
yozhijk Jul 5, 2018
2f98f7b
Added binary output saving as a binary images
Jul 5, 2018
8f53a31
Added loading depth and normals only for the first iteration
Jul 5, 2018
b862530
Code review
Jul 5, 2018
336bac4
Fixed code review comments
AvKhokhlov Jul 6, 2018
0dfd9a7
Added description of launch BaikalDataGenerator in readme file
AvKhokhlov Jul 6, 2018
8702da3
Renamed chanels to channels
AvKhokhlov Jul 6, 2018
6cb0805
Added capability to load materials and mapping xml files
Jul 6, 2018
96df991
Deleted code responsible for light dettaching, fixed bug with gamma c…
Jul 9, 2018
36cc8b6
Updated readme
Jul 9, 2018
8a9e300
Fix BaikalStandalone crash on Ubuntu at exit
AlexanderVeselov Jul 10, 2018
53ad234
Fixed some commits from review
Jul 10, 2018
b561cfe
Add some spaces
AlexanderVeselov Jul 10, 2018
bab0e12
Fixed more review comments
AvKhokhlov Jul 10, 2018
465339c
Merge pull request #171 from AlexanderVeselov/fix_standalone_ubuntu
yozhijk Jul 11, 2018
dee9fff
Added more comments on interfaces, fixed bug with float compare
Jul 11, 2018
117e806
Fixed issue with tiny_obj_loader
Jul 11, 2018
05395f1
merge with master
Jul 11, 2018
33f6752
Add skipping non-actual data
AlexanderVeselov Jul 17, 2018
455edde
Add separate dirty flags to each scene controller
AlexanderVeselov Jul 17, 2018
e64b265
Some mgpu fixes
AlexanderVeselov Jul 17, 2018
5c60555
Fix Ubuntu build
AlexanderVeselov Jul 17, 2018
f3bb15d
Add explicit referencing of environment map in BaikalStandalone
AlexanderVeselov Jul 17, 2018
8d26653
Fix window resizing when it's moved between displays which have
AlexanderVeselov Jul 17, 2018
df80df4
Merge pull request #168 from AvKhokhlov/data_generator
yozhijk Jul 18, 2018
0a43bae
Merge pull request #175 from AlexanderVeselov/standalone_fixes
yozhijk Jul 18, 2018
71a92c7
Fix issues from the review
AlexanderVeselov Jul 19, 2018
f231df0
Aligned Baikal with new RPR API
Jul 19, 2018
f993ad4
Format code
AlexanderVeselov Jul 20, 2018
3122b8d
Fix Mac OSX build
AlexanderVeselov Jul 20, 2018
5365db0
Add resetting of scene controller id in tests
AlexanderVeselov Jul 20, 2018
2b68b5b
Merge pull request #176 from igpooh/master
yozhijk Jul 24, 2018
5eca9af
Fix interop option
AlexanderVeselov Aug 3, 2018
edabb5f
Merge pull request #179 from AlexanderVeselov/fix_cmd_line
yozhijk Aug 3, 2018
7e3cc7b
Merge pull request #177 from AlexanderVeselov/fix_multi_gpu
yozhijk Aug 3, 2018
2d6223f
Fix glossiness AOV
yozhijk Aug 3, 2018
4202a5f
Data generator: enable loading light textures with relative paths
dtarakanov1 Aug 3, 2018
edcf176
Handle absent up vector in camera configs
yozhijk Aug 5, 2018
a9052d2
Fixed NAN in outputs
Aug 7, 2018
47efad6
Remove conditional copying of debug dll on Windows
AlexanderVeselov Aug 13, 2018
de87342
Change dependencies of utility projects
AlexanderVeselov Aug 13, 2018
6d3e68f
Format CMakeLists files
AlexanderVeselov Aug 15, 2018
11696be
Updated Render and config_loader classes api. Added new commanl light…
Aug 15, 2018
b7cd9af
Changed camera indexing
Aug 15, 2018
093c795
Added partial dataset loading support
Aug 15, 2018
2d79dc4
Fix Ninja generation error
AlexanderVeselov Aug 15, 2018
97fa3dc
Code review
Aug 15, 2018
3d5f855
Fix make install error on Windows
AlexanderVeselov Aug 15, 2018
cb70d95
Fix DataGenerator CMakeLists, add installation for tests
AlexanderVeselov Aug 16, 2018
fa5f30b
Fix CMakeLists on Linux
AlexanderVeselov Aug 16, 2018
1c18091
Add install commands for RadeonProRender64 and RprSupport64
AlexanderVeselov Aug 16, 2018
537f63d
Revert cosmetic changes
AlexanderVeselov Aug 16, 2018
bcffe74
Revert more whitespaces
AlexanderVeselov Aug 16, 2018
a9bf3d5
Chaned camera set distirbution logic
Aug 16, 2018
6b35cac
Revert more cosmetic changes
AlexanderVeselov Aug 17, 2018
1369b0f
Fix path to release OIIO dll
AlexanderVeselov Aug 17, 2018
8168446
Code review comments. Replaced uint32_t with size_t. Added log to con…
Aug 20, 2018
525e71e
Code review
Aug 20, 2018
21d32c9
Deleted changing camera pos
Aug 20, 2018
8ba1730
Removed checks
Aug 20, 2018
e9c7958
Changed checks and fixed orthographic mistakes
Aug 20, 2018
45a55e5
Added template magic
Aug 21, 2018
c0a212a
Added metadata saving
Aug 21, 2018
6e19aae
Update ImGui & tinyobj to make Baikal be compilable on g++-8 (#183)
AlexanderVeselov Aug 21, 2018
9a8ae7c
Added num_bounce cmd option into BaiaklDataGenerator
Aug 21, 2018
b108b98
Change zero uv generation
AlexanderVeselov Aug 22, 2018
11bae8e
Merge pull request #191 from AvKhokhlov/metadata_for_data_generator
yozhijk Aug 22, 2018
2731725
Merge pull request #180 from dtarakanov1/master
yozhijk Aug 22, 2018
34706ce
Merge pull request #182 from AvKhokhlov/outputs_nan_fix
yozhijk Aug 22, 2018
34ed393
Merge
Aug 22, 2018
0ad25d0
Add case insensitive search of textures to BaikalIO
AlexanderVeselov Aug 23, 2018
5bf642a
Add stdc++fs library only on Unix
AlexanderVeselov Aug 23, 2018
a45d499
Remove 'Tf' token from MTL parser to save compatibility
AlexanderVeselov Aug 23, 2018
0f78e9d
Merge branch 'update_tinyobj_imgui' into case_insensitive_textures
AlexanderVeselov Aug 23, 2018
108fbcb
Merge pull request #185 from AvKhokhlov/Improve_data_generator
yozhijk Aug 23, 2018
4884b2b
Merge pull request #189 from AlexanderVeselov/fix_cmakelists
yozhijk Aug 23, 2018
c2033ba
wip
dtarakanov1 Aug 24, 2018
d05f6c1
Add preprocessor conditional compilation for FindFilenameFromCaseInse…
AlexanderVeselov Aug 26, 2018
d0fae4d
Remove 'fs' shortcut
AlexanderVeselov Aug 27, 2018
dfa1e9b
Add logs to data generator
dtarakanov1 Aug 27, 2018
19cdda2
Log cancelation and failures
dtarakanov1 Aug 27, 2018
97fb88f
Merge branch 'master' into case_insensitive_textures
AlexanderVeselov Aug 27, 2018
7dbbb1d
Fix Linux release build warning
AlexanderVeselov Aug 27, 2018
565599a
Fix erratum. Update CMakeLists.txt
dtarakanov1 Aug 28, 2018
1c3ee32
Consider SIGTERM as cancel request
dtarakanov1 Aug 29, 2018
de49095
Merge pull request #192 from dtarakanov1/master
yozhijk Aug 29, 2018
9a96390
Merge pull request #194 from AlexanderVeselov/case_insensitive_textures
yozhijk Aug 29, 2018
1d78027
fixes for gcc 7 and 8
achernigin1987 Aug 29, 2018
f3c2e58
Merge pull request #1 from dtarakanov1/achernigin/fix-build-on-linux
achernigin1987 Aug 29, 2018
94fc243
refactoring
achernigin1987 Aug 29, 2018
a44a86a
Merge remote-tracking branch 'upstream/master'
achernigin1987 Aug 29, 2018
9d18d31
Merge pull request #195 from dtarakanov1/master
yozhijk Aug 29, 2018
39e8bc2
1) changed algorithm for splitting cameras 2) metadata.xml updated
achernigin1987 Aug 31, 2018
b6c2df2
cosmetic
achernigin1987 Aug 31, 2018
6313103
Aded check for nan in w component, small refactoring
Sep 4, 2018
03977cc
Deleted tab
Sep 4, 2018
0788f81
Add -list_devices and -device datagenerator options, fix help message
dtarakanov1 Sep 6, 2018
bc60de8
Write device info into metadata.xml
dtarakanov1 Sep 6, 2018
08946cb
Data generator API implementation
dtarakanov1 Sep 14, 2018
4ad2edc
Fix Windows build. Fix camera indexing
dtarakanov1 Sep 17, 2018
2ff80c3
Comment out SetMask call
dtarakanov1 Sep 17, 2018
7104360
Apply review remarks
dtarakanov1 Sep 17, 2018
6b8c8e8
Fix build errors
dtarakanov1 Sep 18, 2018
c5bf0b8
Fix potential memory leak
dtarakanov1 Sep 18, 2018
44b553a
Rename library and application
dtarakanov1 Sep 18, 2018
6ea2068
Add more parameter checks
dtarakanov1 Sep 18, 2018
bb49334
Fix potential memory leak
dtarakanov1 Sep 18, 2018
ba1656f
Added light loading from config file
Sep 18, 2018
3e7b035
Added light loading from .xml file
Sep 18, 2018
e3f007f
Fixed build and review comments
Sep 19, 2018
4ae6359
Build fix
Sep 19, 2018
bbaaa91
Fixed OSX tediousness
Sep 19, 2018
4af6410
Simplify code reading
dmitry-t Sep 21, 2018
c96c73f
Add more comments
dmitry-t Sep 21, 2018
79697dd
Code review
Sep 24, 2018
742aaf6
BaikalDataGenerator/Source/app_config.h
Sep 24, 2018
3561ef8
Code review
Sep 24, 2018
d7c5eeb
Small changes in datagenerator
Sep 26, 2018
62ec7a2
Code review
Sep 26, 2018
6fed1f5
More review
Sep 26, 2018
e019eeb
Added comment to gamma correction flag
Sep 26, 2018
9c91bdc
Changed comment style
Sep 26, 2018
0ad28cd
'name' replaced with 'file' in xml metadata
Sep 28, 2018
371fb99
Merge pull request #200 from AvKhokhlov/datagenerator-library
yozhijk Oct 1, 2018
d621d05
Merge pull request #198 from AvKhokhlov/avkhokhlov/light_for_stanalone
yozhijk Oct 1, 2018
0dabf4d
Merge pull request #196 from AvKhokhlov/nan_fix
yozhijk Oct 1, 2018
60b2ca1
Fixed inverse in data generator
Oct 5, 2018
2d5a5d0
Merge pull request #202 from AvKhokhlov/avkhokhlov/fix_inverse
yozhijk Oct 5, 2018
fac36f5
Create lightbaker branch (#1)
VIP21 Oct 25, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

*.opendb
*.sln
*.vcxproj
*.filters
*.obj
*.lastbuildstate
*.tlog
*.user
*.ini
*.log
*.pdb
*.lib
*.exe
*.ilk
*.dll
*.exp
*.db
*.jpg
*.cache
*.mtl
*/OutputImages/*
*/ReferenceImages/*
*/cache/*.bin

build/

.vs/
CMakeSettings.json
CppProperties.json
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[submodule "RadeonRays"]
path = RadeonRays
url = https://github.com/GPUOpen-LibrariesAndSDKs/RadeonRays_SDK.git
branch = master
Binary file added 3rdparty/RprSupport/bin/x64/RprSupport64.dll
Binary file not shown.
260 changes: 260 additions & 0 deletions 3rdparty/RprSupport/include/RprSupport.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
/*****************************************************************************\
*
* Module Name RprSupport.h
* Project RRP support library
*
* Description RRP support library interface header
*
* Copyright 2017 Advanced Micro Devices, Inc.
*
* All rights reserved. This notice is intended as a precaution against
* inadvertent publication and does not imply publication or any waiver
* of confidentiality. The year included in the foregoing notice is the
* year of creation of the work.
\*****************************************************************************/
#ifndef __RPRSUPPORT_H
#define __RPRSUPPORT_H

#include "RadeonProRender.h"

#ifdef __cplusplus
extern "C" {
#endif

#define RPRX_SUPPORT_API_VERSION 0x0000002
#define RPRX_FLAGS_ENABLE_LOGGING 0x1

/*rprx_material_type*/
#define RPRX_MATERIAL_UBER 0x1
#define RPRX_MATERIAL_ARCHITECTURAL 0x2
#define RPRX_MATERIAL_SKIN 0x3
#define RPRX_MATERIAL_CARPAINT 0x4

typedef rpr_uint rprx_material_type;
typedef rpr_uint rprx_parameter;
typedef rpr_uint rprx_parameter_type;

struct _rprxcontext
{
rpr_uint padding;
};
struct _rprxmaterial
{
rpr_uint padding;
};

typedef _rprxcontext *rprx_context;
typedef _rprxmaterial *rprx_material;

/*rprx_material_type*/
#define RPRX_UBER_MATERIAL_DIFFUSE_COLOR 0x100U
#define RPRX_UBER_MATERIAL_DIFFUSE_WEIGHT 0x101U
#define RPRX_UBER_MATERIAL_DIFFUSE_ROUGHNESS 0x102U
#define RPRX_UBER_MATERIAL_REFLECTION_COLOR 0x103U
#define RPRX_UBER_MATERIAL_REFLECTION_WEIGHT 0x104U
#define RPRX_UBER_MATERIAL_REFLECTION_ROUGHNESS 0x105U
#define RPRX_UBER_MATERIAL_REFLECTION_ANISOTROPY 0x106U
#define RPRX_UBER_MATERIAL_REFLECTION_ANISOTROPY_ROTATION 0x107U
#define RPRX_UBER_MATERIAL_REFLECTION_MODE 0x108U
#define RPRX_UBER_MATERIAL_REFLECTION_IOR 0x109U
#define RPRX_UBER_MATERIAL_REFLECTION_METALNESS 0x109U
#define RPRX_UBER_MATERIAL_REFRACTION_COLOR 0x10AU
#define RPRX_UBER_MATERIAL_REFRACTION_WEIGHT 0x10BU
#define RPRX_UBER_MATERIAL_REFRACTION_ROUGHNESS 0x10CU
#define RPRX_UBER_MATERIAL_REFRACTION_IOR 0x10DU
#define RPRX_UBER_MATERIAL_REFRACTION_IOR_MODE 0x10EU
#define RPRX_UBER_MATERIAL_REFRACTION_THIN_SURFACE 0x10FU
#define RPRX_UBER_MATERIAL_COATING_COLOR 0x110U
#define RPRX_UBER_MATERIAL_COATING_WEIGHT 0x111U
#define RPRX_UBER_MATERIAL_COATING_ROUGHNESS 0x112U
#define RPRX_UBER_MATERIAL_COATING_MODE 0x113U
#define RPRX_UBER_MATERIAL_COATING_IOR 0x114U
#define RPRX_UBER_MATERIAL_COATING_METALNESS 0x114U
#define RPRX_UBER_MATERIAL_EMISSION_COLOR 0x115U
#define RPRX_UBER_MATERIAL_EMISSION_WEIGHT 0x116U
#define RPRX_UBER_MATERIAL_EMISSION_MODE 0x117U
#define RPRX_UBER_MATERIAL_TRANSPARENCY 0x118U
#define RPRX_UBER_MATERIAL_NORMAL 0x119U
#define RPRX_UBER_MATERIAL_BUMP 0x11AU
#define RPRX_UBER_MATERIAL_DISPLACEMENT 0x11BU
#define RPRX_UBER_MATERIAL_SSS_ABSORPTION_COLOR 0x11CU
#define RPRX_UBER_MATERIAL_SSS_SCATTER_COLOR 0x11DU
#define RPRX_UBER_MATERIAL_SSS_ABSORPTION_DISTANCE 0x11EU
#define RPRX_UBER_MATERIAL_SSS_SCATTER_DISTANCE 0x11FU
#define RPRX_UBER_MATERIAL_SSS_SCATTER_DIRECTION 0x120U
#define RPRX_UBER_MATERIAL_SSS_WEIGHT 0x121U
#define RPRX_UBER_MATERIAL_SSS_SUBSURFACE_COLOR 0x122U
#define RPRX_UBER_MATERIAL_SSS_MULTISCATTER 0x123U

#define RPRX_UBER_MATERIAL_REFLECTION_MODE_PBR 0x1U
#define RPRX_UBER_MATERIAL_REFLECTION_MODE_METALNESS 0x2U
#define RPRX_UBER_MATERIAL_REFRACTION_MODE_SEPARATE 0x1U
#define RPRX_UBER_MATERIAL_REFRACTION_MODE_LINKED 0x2U
#define RPRX_UBER_MATERIAL_COATING_MODE_PBR 0x1U
#define RPRX_UBER_MATERIAL_COATING_MODE_METALNESS 0x2U
#define RPRX_UBER_MATERIAL_EMISSION_MODE_SINGLESIDED 0x1U
#define RPRX_UBER_MATERIAL_EMISSION_MODE_DOUBLESIDED 0x2U

/*rprx_parameter_type*/
#define RPRX_PARAMETER_TYPE_FLOAT4 0x1U
#define RPRX_PARAMETER_TYPE_UINT 0x2U
#define RPRX_PARAMETER_TYPE_NODE 0x3U

/** @brief Create RPRX context.
*
* RPR contexts allow to track several RPR contexts and material systems at the same time.
*
* @param material_system Material system to use
* @param flags Additional options (currently only RPRX_FLAGS_ENABLE_LOGGING supported)
* @param out_context Context
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxCreateContext(rpr_material_system material_system, rpr_uint flags, rprx_context* out_context);

/** @brief Create RPRX material
*
* The function creates a material of a specified type. Supported types:
* RPRX_MATERIAL_UBER
*
* @param context RPRX context
* @param type Material type
* @param out_material Pointer to newly created material
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxCreateMaterial(rprx_context context, rprx_material_type type, rprx_material* out_material);

/** @brief Delete RPRX material
*
* The function deletes the material passed in. The function also remove material from
* the set of tracked materials.
*
* Warning : this function will manipulate all the rpr_shape objects attached to this material (with rprxShapeAttachMaterial)
* So do not call rprObjectDelete(shape) before calling rprxMaterialDelete.
* Or call rprxShapeDetachMaterial on all the shapes using material before calling rprxMaterialDelete.
*
* @param context RPRX context
* @param material Material to delete
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxMaterialDelete(rprx_context context, rprx_material material);

/** @brief Set the parameter for a material
*
* The function sets specified parameter for a given material.
*
* @param context RPRX context
* @param material Material
* @param parameter parameter Parameter to set
* @param node Input node
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxMaterialSetParameterN(rprx_context context, rprx_material material, rprx_parameter parameter, rpr_material_node node);
extern RPR_API_ENTRY rpr_int rprxMaterialSetParameterU(rprx_context context, rprx_material material, rprx_parameter parameter, rpr_uint value);
extern RPR_API_ENTRY rpr_int rprxMaterialSetParameterF(rprx_context context, rprx_material material, rprx_parameter parameter, rpr_float x, rpr_float y, rpr_float z, rpr_float w);
extern RPR_API_ENTRY rpr_int rprxMaterialGetParameterType(rprx_context context, rprx_material material, rprx_parameter parameter, rprx_parameter_type * out_type);
extern RPR_API_ENTRY rpr_int rprxMaterialGetParameterValue(rprx_context context, rprx_material material, rprx_parameter parameter, void * out_value);

/** @brief Commit changes for a specified material
*
* initializes internal data structures and established necessary conditions
*
* @param context RPRX context
* @param material Material to commit changes for
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxMaterialCommit(rprx_context context, rprx_material material);

/** @brief Attach RPRX material for a shape
*
* RPRX library internally optimizes material by recompiling internal material graph structure.
* Change-commit approach allows to minimize the number of costly unnecessary recompilations and only
* recompile once before the rendering has started. As a result of this recompilation the output node
* of the material graph might change and the library might need to reapply the material to the shape.
* To implement this, the library needs to "track" the objects material is assigned to.
*
* @param context RPRX context
* @param shape Shape
* @param material Material
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxShapeAttachMaterial(rprx_context context, rpr_shape shape, rprx_material material);

/** @brief Detach RPRX material from a shape
*
* RPRX library internally optimizes material by recompiling internal material graph structure.
* Change-commit approach allows to minimize the number of costly unnecessary recompilations and only
* recompile once before the rendering has started. As a result of this recompilation the output node
* of the material graph might change and the library might need to reapply the material to the shape.
* To implement this, the library needs to "track" the objects material is assigned to.
* rprxShapeDetachMaterial function resets shape material back to nullptr and removes the object
* from the set of "tracked" objects.
*
* @param context RPRX context
* @param shape Shape
* @param material Material
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxShapeDetachMaterial(rprx_context context, rpr_shape shape, rprx_material material);

/** @brief Attach RPRX material for a shape
*
* RPRX library internally optimizes material by recompiling internal material graph structure.
* Change-commit approach allows to minimize the number of costly unnecessary recompilations and only
* recompile once before the rendering has started. As a result of this recompilation the output node
* of the material graph might change. If materials is acting in compounds with basic RPR materials
* (for example in blends), this compound materials should be updated with a new output node, so
* the library needs to reapply their inputs. To implement this, the library needs to "track"
* the objects material is bound to.
*
* @param context RPRX context
* @param node Material node to bind to
* @param parameter Parameter to bind
* @param material Material
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxMaterialAttachMaterial(rprx_context context, rpr_material_node node, rpr_char const * parameter, rprx_material material);

/** @brief Detach RPRX material from a shape
*
* RPRX library internally optimizes material by recompiling internal material graph structure.
* Change-commit approach allows to minimize the number of costly unnecessary recompilations and only
* recompile once before the rendering has started. As a result of this recompilation the output node
* of the material graph might change. If materials is acting in compounds with basic RPR materials
* (for example in blends), this compound materials should be updated with a new output node, so
* the library needs to reapply their inputs. To implement this, the library needs to "track"
* the objects material is bound to. rprxMaterialDetachMaterial resets specified parameter back
* to nullptr and removes the node from the set of "tracked" nodes.
*
* @param context RPRX context
* @param node Material node to bind to
* @param parameter Parameter to bind
* @param material Material
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxMaterialDetachMaterial(rprx_context context, rpr_material_node node, rpr_char const * parameter, rprx_material material);

/** @brief Delete RPRX context
*
* The function deletes the context passed in.
*
* @param context RPRX context
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxDeleteContext(rprx_context context);

/** @brief Check whether specified rpr_material_node belongs to rprx material
*
* @param context RPRX context
* @param node RPR material node
* @param material RPRX material
* @param result out_result result
* @return RPR_SUCCESS in case of success, error code otherwise
*/
extern RPR_API_ENTRY rpr_int rprxIsMaterialRprx(rprx_context context, rpr_material_node node, rprx_material * out_material, rpr_bool* out_result);
extern RPR_API_ENTRY rpr_int rprxGetLog(rprx_context context, rpr_char* log, size_t* size);
extern RPR_API_ENTRY rpr_int rprxShapeGetMaterial(rprx_context context, rpr_shape shape, rprx_material* material);
#ifdef __cplusplus
}
#endif

#endif /*__RPRSUPPORT_H */
Binary file added 3rdparty/RprSupport/lib/x64/RprSupport64.lib
Binary file not shown.
Loading