OpenGL ES 3D 粒子系统小结

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

所谓粒子系统可以想象为一堆粒子由一个点或一个面按照一定的规律进行喷射。

粒子系统大致分为2类:一类为“点喷式”,一类为“面喷式”。可以想象前者由一个点进行喷射,类似于焰火;后者在一个平面上有多个点喷射粒子,类似于雨或雪的产生。

首先粒子系统是由粒子组成,要描述粒子系统就必须先描述单个粒子的组成。对于单个的粒子对象,它的属性我将其分为2种:1为固有属性,2为相对属性。对于世界坐标系中的粒子来说固有属性为绝对的:例如粒子的大小,颜色等等,而相对属性是相对与空间中的坐标系来说,例如粒子的飞行速度,位移,粒子在坐标系中的X,Y,Z坐标等等。

接下来得说说“点喷式”和“面喷式”的区别。对于前者来说,所有的粒子为在一个固定的点发射,所以组成系统的所有粒子的坐标的固定的,而需要随机生成的是喷射瞬间粒子的在X,Y,Z的分速度。对于后者来说可以看做随机生成喷射点喷射相同速度的粒子,所以此时粒子在飞行是的速度是可以知道的,而不知道的是生成该粒子的坐标,所以此时的粒子的相对属性发生了改变不是初速度而是初始坐标。

注意不能认为每个粒子喷射点用一个线程去搞定,这种想法是不正确的。正确的想法是把整个面当作一个喷射点(有点抽象)然后随机生成坐标就可以在不同的坐标喷射粒子。如果按照每个喷射点一个线程那么当喷射点过多时系统会瘫掉的

 

 

 

转载于:https://my.oschina.net/u/264497/blog/57393

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理科生用创意毁灭世界,爆笑!

全世界有3.14 % 的人已经关注了数据与算法之美1、青年问禅师:“大师,我很爱我的女朋友,她也有很多优点,但是总有几个缺点让我非常讨厌,有什么方法能让她改变?”禅师浅笑,答:“方法很…

php 派生类 构造,C++派生类的构造函数和析构函数

派生类对象中包含基类对象,因此派生类对象在创建时,除了要调用自身的构造函数进行初始化外,还要调用基类的构造函数初始化其包含的基类对象。因此,程序中任何能够生成派生类对象的语句,都要说明其包含的基类对象是如何…

我的C#/.NET学习诀窍——LINQPad

在我以往的文章中,尤其涉及代码演示的,都使用了同一个工具——LINQPad。但许多客户面对我分享的.linq源文件都迷茫不知所措,因此有必要来聊聊一下这个强大的工具。本文首先将对该工具做个简单的介绍,并且分享一些LINQPad的优点&am…

数学在生活中无处不在,36个生活小故事涵盖小学所有的数学知识!

数学不是脱离生活的,而是源于生活,更要回归于生活。解决生活中遇到的问题,就是最自然的数学应用题。生活场景中的学习,是最生动的体验式学习机会。用学到的数学知识来解决生活中的问题,正是孩子体会数学奥妙的绝佳机会…

每天的0点php,使用strtotime,这个月的第一天凌晨0点在PHP?(Using just strtotime, 0 am first day of this month in PHP?)...

使用strtotime,这个月的第一天凌晨0点在PHP?(Using just strtotime, 0 am first day of this month in PHP?)echo mydate(strtotime(1 am first day of this month));以上工作结果2017-10-01 01:00:00 ,但我很难在凌晨0点做到。 24am, 24pm,…

面试八股文:你写过自定义任务调度器吗?

最近入职了新公司,尝试阅读祖传代码,记录并更新最近的编程认知。思绪由Q1引发,后续Q2、Q3基于Q1的发散探究Q1. Task.Run、Task.Factory.StartNew 的区别?我们常使用Task.Run和Task.Factory.StartNew创建并启动任务,但是…

快速掌握MATLAB应用,从这一步开始

有人说,“MATLAB除了不会生孩子,什么都会。”矩阵运算、数据可视化、GUI(用户界面)设计、甚至是连接其他编程语言,MATLAB都能轻松实现!那么,MATLAB到底有多厉害?MATLAB拥有丰富的算法…

Solarwinds的NetFlow Traffic Analyzer中的Cisco设备配置

如果要使用Solarwinds的NetFlow Traffic Analyzer这个产品首先要安装Orion然后再安装Netflow,其次要设备支持Netflow,下面列出的是支持netflow的cisco设备:支持cisco netflower的cisco设备2007-08-16 15:09 Cisco 800, 1700, 1800, 2800, 380…

mobile.php discuz,电脑访问discuz手机版【触屏版跳转标准版的修改方法】

推荐方法:以前我们介绍过如何通过修改Chrome浏览器运行参数的方法来模拟手机访问网站,但是在Chrome 32和33版本以后增加了更加便捷的方法,在开发者工具中只需要设置一下就能方便的模拟各种手机型号的访问效果了。方法如下:1、打开…

深入探究ASP.NET Core读取Request.Body的正确方式

前言相信大家在使用ASP.NET Core进行开发的时候,肯定会涉及到读取Request.Body的场景,毕竟我们大部分的POST请求都是将数据存放到Http的Body当中。因为笔者日常开发所使用的主要也是ASP.NET Core所以笔者也遇到这这种场景,关于本篇文章所套路…

送给“苦逼”的IT人系列1:IT人的“钱”景以及收入的两道坎

虽然IT工作五花八门,而且年纪有老有少,但IT人的收入总体还是比较有规律的,很明显的可以看出有两道坎,分别是10W,和30W,当然,我说的是年薪,是RMB,不包含任何跟销售相关的提…

追MM的各种算法

全世界有3.14 % 的人已经关注了数据与算法之美动态规划基本上就是说:你追一个MM的时候,需要对该MM身边的各闺中密友都好,这样你追MM这个问题就分解为对其MM朋友的问题,只有把这些问题都解决了,最终你才能追到MM。因此&…

gRPC在C#中的未来属于grpc-dotnet

作者:Jan Tattermuschgrpc-dotnet(Grpc.Net.Client[1]和Grpc.AspNetCore.Server[2] nuget 包)现在是.NET/C#中推荐的 gRPC 实现。最初的 gRPC C#实现(Grpc.Core nuget 包)将进入维护模式,不会得到任何新功能…

(部分来自windows核心编程)远程注入dll

{//仅仅支持ANSI路径//find the wndHWND hwnd FindWindow(NULL,"1.txt - 记事本");//get pidDWORD tid,pid;tid GetWindowThreadProcessId(hwnd,&pid);if (0pid)//for test{pid GetCurrentProcessId();}HANDLE hProcess OpenProcess(PROCESS_ALL_ACCESS,FALS…

linux命令apprw,linux命令学习1(示例代码)

[[email protected] app]# cat /etc/redhat-releaseCentOS Linux release 7.1.1503 (Core)总用量 2636-rw-r--r--. 1 root root 1222783 10月 28 12:09 Glances-1.7.1.tar.gz-rw-r--r--. 1 root root 388499 11月 7 13:20 htop-1.0.2.tar.gz-rw-r--r--. 1 root root 1081874 …

ML.NET 示例:对象检测

ML.NET 版本API 类型状态应用程序类型数据类型场景机器学习任务算法v1.4动态API最新控制台应用程序图像文件对象检测深度学习Tiny Yolo2 ONNX 模型有关如何构建此应用程序的详细说明,请参阅Microsoft Docs网站上附带的教程。问题对象检测是计算机视觉中的一个经典问…

双十一来了,揭秘菜鸟物流背后的那些算法黑科技

又是一年双十一,又一个巨大的挑战摆在了包括菜鸟网络在内的物流面前,但随着人工智能、大数据的应用越来越广泛,无人化仓储、无人化配送越来越多,供应链越来越扁平化,各种算法应用到物流领域的每一个细节。那么&#xf…

socket编程资料-网络收集

1、什么是Socket? Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息的接口,程序员使用这个接口提供的方法&#…

linux监听端口丢失,linux – 如果没有监听端口,则为Systemd重启服务

我建议你采用不同的方法,并使用专用的监控工具来实现这一目标.我最喜欢的监控工具,允许重新启动服务,以防它们崩溃,或者不再在其配置的端口上监听,这是monit:https://packages.debian.org/jessie/monit配置文件中有很多示例,在此站点和其他地方有关设置的示例.我将列…

开源推荐:Asp.Net Core入门学习手册!

前言推荐一个入门级的.NET Core开源项目,非常适合新手入门学习.NET Core。开源地址:https://github.com/windsting/little-aspnetcore-book。手册在线下载地址:https://nbarbettini.gitbooks.io/little-asp-net-core-book/content/chapters/mvc-basics/c…