kopia lustrzana https://github.com/lzzcd001/MeshDiffusion
85 wiersze
1.5 KiB
C
85 wiersze
1.5 KiB
C
/*
|
|
* Copyright (c) 2020-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
*
|
|
* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
|
|
* property and proprietary rights in and to this material, related
|
|
* documentation and any modifications thereto. Any use, reproduction,
|
|
* disclosure or distribution of this material and related documentation
|
|
* without an express license agreement from NVIDIA CORPORATION or
|
|
* its affiliates is strictly prohibited.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "common.h"
|
|
|
|
struct LambertKernelParams
|
|
{
|
|
Tensor nrm;
|
|
Tensor wi;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
};
|
|
|
|
struct FrostbiteDiffuseKernelParams
|
|
{
|
|
Tensor nrm;
|
|
Tensor wi;
|
|
Tensor wo;
|
|
Tensor linearRoughness;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
};
|
|
|
|
struct FresnelShlickKernelParams
|
|
{
|
|
Tensor f0;
|
|
Tensor f90;
|
|
Tensor cosTheta;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
};
|
|
|
|
struct NdfGGXParams
|
|
{
|
|
Tensor alphaSqr;
|
|
Tensor cosTheta;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
};
|
|
|
|
struct MaskingSmithParams
|
|
{
|
|
Tensor alphaSqr;
|
|
Tensor cosThetaI;
|
|
Tensor cosThetaO;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
};
|
|
|
|
struct PbrSpecular
|
|
{
|
|
Tensor col;
|
|
Tensor nrm;
|
|
Tensor wo;
|
|
Tensor wi;
|
|
Tensor alpha;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
float min_roughness;
|
|
};
|
|
|
|
struct PbrBSDF
|
|
{
|
|
Tensor kd;
|
|
Tensor arm;
|
|
Tensor pos;
|
|
Tensor nrm;
|
|
Tensor view_pos;
|
|
Tensor light_pos;
|
|
Tensor out;
|
|
dim3 gridSize;
|
|
float min_roughness;
|
|
int BSDF;
|
|
};
|