当前位置: 首页 > news >正文

HLSL Complex Shapes With For Loops

制作一个动态的cycle的动画材质

首先我们使用hlsl来写一个圆

// The below expression will get compiled
// into the output of this node
float result = 0.0f;
for(int i = 0; i < nSize; i++)
{
  float angle = 2 * (i / nSize) * 3.14;
  float2 pos = center + radius * float2(cos(angle), sin(angle));
  result += length(pos - uv) < size;
}
return float3(result, result, result);

加入偏移让圆动起来

float result = 0.0f;
for(int i = 0; i < nSize; i++)
{
  float angle = 2 * (i / nSize) * time * 3.14;
  float2 pos = center + radius * float2(cos(angle), sin(angle));
  result += length(pos - uv) < size;
}
return float3(result, result, result);

多指针旋转

也就是沿着半径去增加点的数量

float result = 0.0f;
for(int i = 0; i < nSize; i++)
{
  for(int j = 0; j < nCopy; j++)
  {
    float angle = 2 * (i / nSize) * time * 3.14;
    float2 pos = center + radius * (j / nCopy) * float2(cos(angle), sin(angle));
    result += length(pos - uv) < size;
  }
}
return float3(result, result, result);

后续可以按照自己的需求修改

http://www.dtcms.com/a/123005.html

相关文章:

  • Linux启动端口,Windows 看是否通
  • 使用 Vue + PDF.js 构建在线 PDF 阅读器(支持目录与缩放)
  • Petalinux最简开发
  • (2)网络学习之堡垒机
  • 如何避免Python爬虫重复抓取相同页面?
  • 【数据结构】树状数组
  • RTT中断管理学习
  • 苹果电脑MAC系统安装
  • 【MySQL篇】mysqlpump和mysqldump参数区别总汇
  • 【C++游戏引擎开发】第11篇:GLFW、GLAD环境搭建与第一个三角形渲染
  • 09-Spring 与线程安全:IOC 与多线程下的坑与解法
  • 解锁Midjourney创作潜能:超详细提示词(Prompts)分类指南
  • 【42期获取股票数据API接口】如何用Python、Java等五种主流语言实例演示获取股票行情api接口之沪深指数最新分时BOLL数据及接口API说明文档
  • 三、使用Keil5新建STM32工程
  • 【学Rust写CAD】29 Alpha256结构体(alpha256.rs)
  • torch.meshgrid()
  • 【OCR】总结目前流行的主要的OCR工具
  • Jenkins安装流程
  • 联邦学习研读笔记
  • printf
  • 【NLP 面经 9、逐层分解Transformer】
  • 第十一章 Python语言-高阶技巧(终章)
  • Dubbo(44)如何排查Dubbo的服务依赖问题?
  • 17. git pull
  • 6、nRF52xx蓝牙学习(nrf_gpiote.c库函数学习)
  • 基于 AI智能体、大模型、RAG、Agent 等技术构建公司内部闭环智能问答系统的详细方案,结合 Spring Boot + Vue 管理系统 的改造思路
  • Http代理服务器选型与搭建
  • Starrocks的Bitmap索引和Bloom filter索引以及全局字典
  • 基于微信小程序的志愿服务系统的设计与实现
  • 数字图像处理作业3