Add Chromium-only Blender WebEngine parity work
This commit is contained in:
48
blender-5.2.0/intern/cycles/subd/patch.h
Normal file
48
blender-5.2.0/intern/cycles/subd/patch.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 */
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "util/boundbox.h"
|
||||
#include "util/types.h"
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
class Patch {
|
||||
public:
|
||||
Patch() = default;
|
||||
virtual ~Patch() = default;
|
||||
|
||||
virtual void eval(
|
||||
float3 *P, float3 *dPdu, float3 *dPdv, float3 *N, const float u, float v) const = 0;
|
||||
|
||||
int patch_index = 0;
|
||||
int shader = 0;
|
||||
bool smooth = true;
|
||||
bool from_ngon = false;
|
||||
};
|
||||
|
||||
/* Linear Quad Patch */
|
||||
|
||||
class LinearQuadPatch final : public Patch {
|
||||
public:
|
||||
float3 hull[4];
|
||||
|
||||
void eval(
|
||||
float3 *P, float3 *dPdu, float3 *dPdv, float3 *N, const float u, float v) const override;
|
||||
BoundBox bound();
|
||||
};
|
||||
|
||||
/* Bicubic Patch */
|
||||
|
||||
class BicubicPatch final : public Patch {
|
||||
public:
|
||||
float3 hull[16];
|
||||
|
||||
void eval(
|
||||
float3 *P, float3 *dPdu, float3 *dPdv, float3 *N, const float u, float v) const override;
|
||||
BoundBox bound();
|
||||
};
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
Reference in New Issue
Block a user