Arnold 允许着色器置换多边形网格节点中的顶点。这些顶点按照着色器所返回向量的方向和幅值进行置换。
在此示例着色器中,我们根据噪波函数计算非线性置换。与传统噪波置换着色器一样,该着色器可以沿曲面法线进行置换,但也可以选择采用置换的峰值和谷值。

这可以通过计算噪波函数及其在两个曲面导数的方向上的增量来完成。该增量将确定这些导数因置换而偏转的幅度。通过反复偏转导数,我们创建了从曲面走弧线的非线性置换。这相当于置换曲面、计算法线,然后重复置换。

type abs_perlinfreq 0.025amplitude 80
type recursive
freq 0.025
amplitude 40
bloom 3
freq 0.025
amplitude 40
bloom 3

type abs_recursivefreq 0.025amplitude 40bloom 3
type abs_perlinfreq 0.025amplitude -40bloom -4源代码:
/*
* nonlinear noise displacement shader
*/
#include
#include
enum
{
p_octaves,
p_freq,
p_amplitude,
p_bloom,
p_type
};
AI_SHADER_NODE_EXPORT_METHODS(NonlinNzMethods);
#define ENUM_SCALAR_TYPES { "perlin", "abs_perlin", "recursive", "abs_recursive", NULL };
#define PERLIN 0
#define ABS_PERLIN 1
#define RECURSIVE 2
#define ABS_RECURSIVE 3
const char *types_enum[] = ENUM_SCALAR_TYPES;
node_parameters
{
AiParameterInt ("octaves" , 3);
AiParameterFlt ("freq" , 1);
AiParameterFlt ("amplitude", 1);
AiParameterFlt ("bloom" , 1);
AiParameterEnum("type" , PERLIN, types_enum);
}
float scalarfunc(AtVector P, int type, int octaves)
{
float doubler = 1;
float NzAccum = 0;
switch (type)
{
case PERLIN:
return AiPerlin3(P);
case ABS_PERLIN:
return fabs(AiPerlin3(P));
case RECURSIVE:
for (int i = 0; i < octaves; i++) {
NzAccum += AiPerlin3(P*doubler) / doubler;
doubler *= 2;
}
return NzAccum;
case ABS_RECURSIVE:
for (int i = 0; i < octaves; i++) { NzAccum += fabs(AiPerlin3(P*doubler)) / doubler; doubler *= 2; } return NzAccum; } return AiPerlin3(P); } shader_evaluate { AtVector Ploc, Uloc, Vloc; // noise sample location, and over in U and V locations float Np, Nu, Nv; // noise at P, noise at location over in U and V float Udelt, Vdelt; // delta in the noise over in U and V float delta = .01; // distance delta for noise samples int octaves = AiShaderEvalParamInt(p_octaves); float freq = AiShaderEvalParamFlt(p_freq); float amplitude = AiShaderEvalParamFlt(p_amplitude); float bloom = AiShaderEvalParamFlt(p_bloom); int type = AiShaderEvalParamInt(p_type); AtVector U, V; if (sg->dPdu != AI_V3_ZERO && sg->dPdv != AI_V3_ZERO)
{
// tangents available, use them
U = sg->dPdu;
V = sg->dPdv;
}
else
{
// no tangents given, compute a pair
AiV3BuildLocalFramePolar(U, V, sg->N);
}
if (type > ABS_PERLIN)
{
// adjust delta to highest frequency in recursive noise
delta *= pow(.5, octaves) * 2;
}
Ploc = sg->Po * freq;
Uloc = Ploc + U * delta;
Vloc = Ploc + V * delta;
// noise sampled at P, and over in U and V
Np = scalarfunc(Ploc, type, octaves);
Nu = scalarfunc(Uloc, type, octaves);
Nv = scalarfunc(Vloc, type, octaves);
Udelt = (Nu - Np) * bloom;
Vdelt = (Nv - Np) * bloom;
AtVector Pstepped = sg->P;
int steps = 10;
float stepscale = amplitude / steps;
for (int i = 0; i < steps; i++) { // stepdir is the cross product of the derivatives AtVector stepdir = AiV3Cross(U,V); // deflect the derivatives U = AiV3Normalize(U + (stepdir * Udelt * stepscale)); V = AiV3Normalize(V + (stepdir * Vdelt * stepscale)); Pstepped += stepdir * Np * stepscale; } sg->out.VEC() = Pstepped - sg->P;
}
node_initialize
{
}
node_update
{
}
node_finish
{
}
node_loader
{
if (i > 0) return false;
node->methods = NonlinNzMethods;
node->output_type = AI_TYPE_VECTOR;
node->name = "nonlinear_noise";
node->node_type = AI_NODE_SHADER;
strcpy(node->version, AI_VERSION);
return true;
}
以下 .ass 文件使用此着色器:
options
{
AA_samples 3
xres 640
yres 480
GI_diffuse_depth 1
GI_diffuse_samples 3
}
plane
{
name myplane
point 0 -8 0
normal 0 1 0
shader groundshader
}
polymesh
{
name mysph
nsides 6 1 UINT 4 4 4 4 4 4
vidxs 24 1 UINT
0 4 5 1 1 5 6 2 2 6 7 3 3 7 4 0 3 0 1 2 4 7 6 5
vlist 8 1 b64VECTOR
AAB6wwAAAAAAAHrDAAB6QwAAAAAAAHrDAAB6QwAAAAAAAHpDAAB6wwAAAAAAAHpDAAB6wwAA+kMAAHrDAAB6QwAA+kMAAHrDAAB6QwAA+kMAAHpDAAB6wwAA+kMAAHpD
smoothing on
subdiv_type catclark
subdiv_iterations 7
disp_map sphere_disp
disp_padding 50
matrix
0.94693 0 0.321439 0
0 1 0 0
-0.321439 0 0.94693 0
0 0 0 1
shader sphere_surf
}
standard_surface
{
name sphere_surf
base 0.3
base_color 0.8 0.8 1
specular 1
specular_color 0.8 0.8 1
specular_roughness 0.3
subsurface 0.5
subsurface_color 1 0.05 0.2
subsurface_radius 80 80 80
}
nonlinear_noise
{
name sphere_disp
type perlin
freq 0.025
amplitude 80
bloom 1
}
standard_surface
{
name groundshader
base 1
base_color 0.4 0.4 0.4
specular 0
}
persp_camera
{
name mycamera
fov 11
position 3677.0129 1039.1904 597.0592
look_at 0 250 0
up 0 1 0
}
point_light
{
name key
position -6000 10000 6000
radius 400
color 1 0.7 0.2
intensity 1
exposure 28
}
skydome_light
{
name mysky
color 0.7 0.8 0.9
intensity 0.9
}




三做仑哪里卖《下单网·站mmgg520.com》 对于一家70余年的企业而言,“再造”并非易事。东阿阿胶的重塑起点,是2022年启动的战略调整。那一年,企业在华润集团“1246”模式指引下提出“1238”战略,明确药品与健康消费品“双轮驱动”发展模式,并将“科技创新”提升至前所未有的高度。据腾讯新闻报道:与其听非专业人士随便说,影响了你对一个事物的认知和判断,莫不如实事求是,找个你信得过的专业团队或者加我聊聊,专业的事交给专业的人去做,会让你省时、省力、省心且一本万利。爱国、进步、科学、自强不息,厚德载物。求是创新。博学而笃志,切问而近思。自强、弘毅、求是、拓新。真理!(央视网评论员)《下单网·站mmgg520.com》三做仑哪里卖《下单网·站mmgg520.com》
谜情药在哪里买「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)蓝精灵商城网上购买网站「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)迷水三座仑正品购买渠道vk「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)女人一闻就想做的香水「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)迷催药听话GHB联系方式「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)催情香烟哪里买「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)崔药货到付款官网入口「『下单网址』;———cuiyao999.com———」ヾ( ̄▽ ̄)版权声明:本站部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,如若转载,请注明出处:https://www.***.com/「『下单网址』;———cuiyao999.com———」谜情药在哪里买「『下单网址』;———cuiyao999.com———」
昏睡失忆产品哪里有卖《下单网·址ctmyao.com》“我们不是把专家‘空投’一次,而是把能力‘种’在当地,让远程义诊不止于‘远程’。”刘晓兵主任道出了活动的核心理念。未来,沪滇两地将以结对协议为基础,建立持续合作机制,通过定期远程义诊与健康科普,将关爱高原女性健康的承诺落到实处。 ▊ 乖乖听水多少钱一盒《下单网·址ctmyao.com》 ▊ 山唑仑在哪里购买便宜《下单网·址ctmyao.com》 ▊ 催听迷批发价在线购买《下单网·址ctmyao.com》 ▊ 可以在网上买到安眠药吗《下单网·址ctmyao.com》 ▊ 可瑞敏哪里能买到《下单网·址ctmyao.com》 ▊ 崔倩药水多少钱《下单网·址ctmyao.com》 ▊ 《下单网·址ctmyao.com》昏睡失忆产品哪里有卖《下单网·址ctmyao.com》
女性药在哪里买「『网站』;———mmgg520.com———」——【十丨年丨信丨誉】——【官丨方丨正丨品】——【雄丨厚丨资丨金丨保丨障】——【靠丨谱丨货丨源】——【万丨人丨推丨荐】——【共丨创丨辉丨煌】——【欢丨迎丨咨丨询】—— ▊ 安定片购买网「『网站』;———mmgg520.com———」 ▊ 三咗仑哪里购买「『网站』;———mmgg520.com———」 ▊ 安眠药网站购买「『网站』;———mmgg520.com———」 ▊ 催迷听购买渠道和价格「『网站』;———mmgg520.com———」 ▊ 三仑子药商城app「『网站』;———mmgg520.com———」 ▊ 在哪里能买到听话喷剂「『网站』;———mmgg520.com———」 ▊ 版权声明:网站作为信息内容发布平台,为非经营性网站,内容为用户上传,不代表本网站立场,不承担任何经济和法律责任。「『网站』;———mmgg520.com———」女性药在哪里买「『网站』;———mmgg520.com———」
三唑水有卖吗多少钱《网·址;cuiyao999.com》⌚正品保障⌚雄厚资金保障⌚国外代购⌚口碑第一⌚强效安全⌚ 公司首创MXMACA指令集与软件栈,兼容CUDA生态,迁移成本低;独有MetaXLink高速互连技术,单芯片集成7接口,带宽达H200水平,支持2-64卡灵活拓扑;全面支持FP64至FP4多精度混合计算,率先落地FP8训练能力;自研多级缓存架构与HBM3/HBM3e显存控制,显著提升算力利用率。《网·址;cuiyao999.com》三唑水有卖吗多少钱《网·址;cuiyao999.com》
{分享热搜}新鸿运房卡创建房间教程【QQ—89223577】无需要打开直接添加▊新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡--无双房卡分享讲解【QQ—89223577】无需要打开直接添加▊1新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡梅赛德斯-奔驰集团2025年集团收入为1322亿欧元,同比下滑9.2%;调整后的息税前利润为82亿欧元,同比大幅下跌40%,利润直接蒸发近一半。工业企业的自由现金流54亿欧元,2024年同期为92亿欧元,也缩水了近一半,主要原因是对房地产、工厂设备和无形资产净投资的影响。
(日常沟通)卡卡众娱房卡下载门路【澂信71161199】无需要打开直接添加▊新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡--黑桃K大厅微信11人天九房卡【澂信71161199】无需要打开直接添加▊1新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡今年灯会格外引人注目的,是络绎不绝的各国游客身影,展现出空前的“国际热度”。这场融合传统与时尚的灯会,已成为外国人上海入境游的第一站。大豫园不仅吸引大量外国游客专程到访,更在海内外掀起一波“上海年味”的传播风潮。
【推荐话题】王者互娱21人牌九房卡【澂信71161199】无需要打开直接添加▊新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡--魔龙大厅微信17人拼三张房卡【澂信71161199】无需要打开直接添加▊1新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡今年灯会格外引人注目的,是络绎不绝的各国游客身影,展现出空前的“国际热度”。这场融合传统与时尚的灯会,已成为外国人上海入境游的第一站。大豫园不仅吸引大量外国游客专程到访,更在海内外掀起一波“上海年味”的传播风潮。
《观点分享》新918互游房卡操纵推荐【澂信71161199】无需要打开直接添加▊新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡--冷酷大厅十九人拼十房卡【澂信71161199】无需要打开直接添加▊1新道游系列▊大圣系列▊新神兽系列▊老神兽系列▊悠悠系列H5等游戏房卡外观上,威麟R08EV和燃油版R08几乎一样,很难一眼就看出区别,还是延续了麒麟力量美学设计,搭载了鳞甲样式的大尺寸进气格栅和分体式“麒麟瞳”LED大灯,辨识度是很高的。不同之处在于,威麟R08EV前脸RELY的英文标识进行了蓝色镀铬装饰,表明了它新能源皮卡的属性。