Previously, the node used the "true" normal of every looptri. Now it uses the "loop normals" which includes e.g. smooth faces and custom normals. The true normal can still be used on the points by capturing it before the Distribute node. We do intend to expose the smooth normals separately in geometry nodes as well, but this is an important first step. It's also necessary to generate child hair between guide hair strands that don't have visible artifacts at face boundaries. For perfect backward compatibility, the node still has a "Legacy Normal" option in the side bar. Creating the exact same behavior with existing nodes isn't really possible unfortunately because of the specifics of how the Distribute node used to compute the normals using looptris. Pull Request #104414
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** \file
|
|
* \ingroup bke
|
|
*/
|
|
|
|
/**
|
|
* The lines below use regex from scripts to extract their values,
|
|
* Keep this in mind when modifying this file and keep this comment above the defines.
|
|
*
|
|
* \note Use #STRINGIFY() rather than defining with quotes.
|
|
*/
|
|
|
|
/* Blender major and minor version. */
|
|
#define BLENDER_VERSION 305
|
|
/* Blender patch version for bugfix releases. */
|
|
#define BLENDER_VERSION_PATCH 0
|
|
/** Blender release cycle stage: alpha/beta/rc/release. */
|
|
#define BLENDER_VERSION_CYCLE alpha
|
|
|
|
/* Blender file format version. */
|
|
#define BLENDER_FILE_VERSION BLENDER_VERSION
|
|
#define BLENDER_FILE_SUBVERSION 9
|
|
|
|
/* Minimum Blender version that supports reading file written with the current
|
|
* version. Older Blender versions will test this and show a warning if the file
|
|
* was written with too new a version. */
|
|
#define BLENDER_FILE_MIN_VERSION 305
|
|
#define BLENDER_FILE_MIN_SUBVERSION 8
|
|
|
|
/** User readable version string. */
|
|
const char *BKE_blender_version_string(void);
|
|
|
|
/* Returns true when version cycle is alpha, otherwise (beta, rc) returns false. */
|
|
bool BKE_blender_version_is_alpha(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|