博客园 - 寂灭万乘
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=646025
2020-04-20T01:47:20Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
feed.cnblogs.com
https://www.cnblogs.com/millionsmultiplication/p/12718162.html
C# 中size_t的暗坑 - 寂灭万乘
最近在接SDK,在写DllImport遇到一个神奇的暗坑 export代码和DLLImport DLL是64位,测试代码如下 结果惊奇的发现sb = NULL 换了段测试代码 发现sb2的数据是正常的,sb1依旧是NUll 和同事研究了一下,最后发现是DllImport写得不对 换成以下写法就正常了
2020-04-17T03:13:00Z
2020-04-17T03:13:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】最近在接SDK,在写DllImport遇到一个神奇的暗坑 export代码和DLLImport DLL是64位,测试代码如下 结果惊奇的发现sb = NULL 换了段测试代码 发现sb2的数据是正常的,sb1依旧是NUll 和同事研究了一下,最后发现是DllImport写得不对 换成以下写法就正常了 <a href="https://www.cnblogs.com/millionsmultiplication/p/12718162.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/11058633.html
《Fluid Engine Development》 学习笔记4-预测校正不可压缩SPH-PCISPH - 寂灭万乘
传统SPH方案的主要问题之一是时间步长限制。在原始的SPH中,我们首先从当前设置计算密度,使用EOS计算压强,应用压力梯度,然后运行时间积分。这个过程意味着只需要一定的压缩量就可以触发内核半径内的压力,从而延迟计算。因此,我们需要使用更小的时间步长(意味着更多的迭代),这在计算上是昂贵的。或者,我们可以使用不那么严格的EOS,然而,这个解决方案可能会引入类似弹簧的振荡。微调参数如声速或粘度可以帮助避免此类问题。然而,这并不是一个基本的解决方案,对用户来说也是不切实际的。Solenthaler 和Pajarola通过在SPH模拟中引入预测-校正器概念来解决这个问题。这种又称为预测校正不可压缩SPH(PCISPH),它是一种误差测量算法,假定测量值和期望密度的差值是误差。本篇文章总结我在《Fluid Engine Development》学到关于PCISPH的知识。
2019-06-20T06:42:00Z
2019-06-20T06:42:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】传统SPH方案的主要问题之一是时间步长限制。在原始的SPH中,我们首先从当前设置计算密度,使用EOS计算压强,应用压力梯度,然后运行时间积分。这个过程意味着只需要一定的压缩量就可以触发内核半径内的压力,从而延迟计算。因此,我们需要使用更小的时间步长(意味着更多的迭代),这在计算上是昂贵的。或者,我们可以使用不那么严格的EOS,然而,这个解决方案可能会引入类似弹簧的振荡。微调参数如声速或粘度可以帮助避免此类问题。然而,这并不是一个基本的解决方案,对用户来说也是不切实际的。Solenthaler 和Pajarola通过在SPH模拟中引入预测-校正器概念来解决这个问题。这种又称为预测校正不可压缩SPH(PCISPH),它是一种误差测量算法,假定测量值和期望密度的差值是误差。本篇文章总结我在《Fluid Engine Development》学到关于PCISPH的知识。 <a href="https://www.cnblogs.com/millionsmultiplication/p/11058633.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/11048840.html
《Fluid Engine Development》 学习笔记3-光滑粒子流体动力学 - 寂灭万乘
用粒子表示流体最热门的方法就是就是光滑粒子流体动力学(Smoothed Particle Hydrodynamics (SPH).)
这种方法模糊了流体的边界,用有限数量的粒子代表流体,该方法的基本思想是将视作连续的流体(或固体)用相互作用的质点组来描述,各个物质点上承载各种物理量,包括质量、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道,求得整个系统的力学行为
2019-06-18T16:34:00Z
2019-06-18T16:34:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】用粒子表示流体最热门的方法就是就是光滑粒子流体动力学(Smoothed Particle Hydrodynamics (SPH).)
这种方法模糊了流体的边界,用有限数量的粒子代表流体,该方法的基本思想是将视作连续的流体(或固体)用相互作用的质点组来描述,各个物质点上承载各种物理量,包括质量、速度等,通过求解质点组的动力学方程和跟踪每个质点的运动轨道,求得整个系统的力学行为 <a href="https://www.cnblogs.com/millionsmultiplication/p/11048840.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/11046235.html
《Fluid Engine Development》 学习笔记2-基础 - 寂灭万乘
断断续续花了一个月,终于把这本书的一二两章啃了下来,理解流体模拟的理论似乎不难,无论是《Fluid Simulation for Computer Graphics》还是《计算流体力学基础及其应用》都能很好帮助程序员去理解这些原理,可在缺乏实践情况下,这种对原理的理解其实跟死记硬背没什么区别。《Fluid Engine Development》提供了一个实现完成的流体模拟引擎以及它的编程实现原理,充分帮助程序员通过编程实现流体动画引擎,以此完成流体模拟学习的第一步。这不,早在今年一月就嚷嚷研究学习流体模拟却苦苦挣扎无法入门的我,在抄着[作者的代码](https://github.com/doyubkim/fluid-engine-dev)看着作者的书的情况,终于实现了一个流体模拟引擎。我终于可以自信地说自己已经入门了流体模拟o(╥﹏╥)o。这篇博客主要对流体引擎开发的基础知识介绍,下一篇文章会讲光滑粒子流体动力学。
2019-06-18T09:02:00Z
2019-06-18T09:02:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】断断续续花了一个月,终于把这本书的一二两章啃了下来,理解流体模拟的理论似乎不难,无论是《Fluid Simulation for Computer Graphics》还是《计算流体力学基础及其应用》都能很好帮助程序员去理解这些原理,可在缺乏实践情况下,这种对原理的理解其实跟死记硬背没什么区别。《Fluid Engine Development》提供了一个实现完成的流体模拟引擎以及它的编程实现原理,充分帮助程序员通过编程实现流体动画引擎,以此完成流体模拟学习的第一步。这不,早在今年一月就嚷嚷研究学习流体模拟却苦苦挣扎无法入门的我,在抄着[作者的代码](https://github.com/doyubkim/fluid-engine-dev)看着作者的书的情况,终于实现了一个流体模拟引擎。我终于可以自信地说自己已经入门了流体模拟o(╥﹏╥)o。这篇博客主要对流体引擎开发的基础知识介绍,下一篇文章会讲光滑粒子流体动力学。 <a href="https://www.cnblogs.com/millionsmultiplication/p/11046235.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/11046170.html
《Fluid Engine Development》 学习笔记1-求解线性方程组 - 寂灭万乘
我个人对基于物理的动画很感兴趣,最近在尝试阅读《Fluid Engine Development》,由于内容涉及太多的数学问题,而单纯学习数学又过于枯燥,难以坚持学习(我中途放弃好多次了),打算尝试通过编写博客总结知识的学习方法来学习。
在计算数值问题时,我们经常遇到线性方程,比如基于网格的流体模拟在求解扩散和压强,需要求解线性方程组。
2019-06-18T08:54:00Z
2019-06-18T08:54:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】我个人对基于物理的动画很感兴趣,最近在尝试阅读《Fluid Engine Development》,由于内容涉及太多的数学问题,而单纯学习数学又过于枯燥,难以坚持学习(我中途放弃好多次了),打算尝试通过编写博客总结知识的学习方法来学习。
在计算数值问题时,我们经常遇到线性方程,比如基于网格的流体模拟在求解扩散和压强,需要求解线性方程组。 <a href="https://www.cnblogs.com/millionsmultiplication/p/11046170.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/10766778.html
片段与像素的区别 - 寂灭万乘
好久没写博客了,最近一直看书和学习(抄)别人的代码。学到的东西都是别人总结好的,不好意思丢到自己的博客。否则感觉就是在抄书了。最近看CgTutorial,发现像素和片元是存在区别的,以前一直把两者当一回事,所以写篇博客记录一下
2019-04-25T02:26:00Z
2019-04-25T02:26:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】好久没写博客了,最近一直看书和学习(抄)别人的代码。学到的东西都是别人总结好的,不好意思丢到自己的博客。否则感觉就是在抄书了。最近看CgTutorial,发现像素和片元是存在区别的,以前一直把两者当一回事,所以写篇博客记录一下 <a href="https://www.cnblogs.com/millionsmultiplication/p/10766778.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9938011.html
讲讲不怎么有用却很有意义的包围体测试 - 寂灭万乘
大多游戏程序员和图形程序都知道渲染流水线这个概念,它的本质是将3D的场景映射到显示屏上的一系列操作。它主要分3个阶段:应用程序阶段,几何阶段,光栅化阶段。将摄像机位置,光照,模型的图元输入到几何阶段便是应用程序阶段。进行多边形和顶点操作把3d数据映射到2d的阶段便是几何阶段。给定进过变换和投影之后的顶点,颜色,纹理坐标,给每个像素正确配色,这个阶段叫光栅化阶段。具体的流水线概念,这篇文章不做详细介绍,这篇文章主要讲解几何阶段中的包围体测试。
2018-11-10T04:23:00Z
2018-11-10T04:23:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】大多游戏程序员和图形程序都知道渲染流水线这个概念,它的本质是将3D的场景映射到显示屏上的一系列操作。它主要分3个阶段:应用程序阶段,几何阶段,光栅化阶段。将摄像机位置,光照,模型的图元输入到几何阶段便是应用程序阶段。进行多边形和顶点操作把3d数据映射到2d的阶段便是几何阶段。给定进过变换和投影之后的顶点,颜色,纹理坐标,给每个像素正确配色,这个阶段叫光栅化阶段。具体的流水线概念,这篇文章不做详细介绍,这篇文章主要讲解几何阶段中的包围体测试。 <a href="https://www.cnblogs.com/millionsmultiplication/p/9938011.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9908996.html
水面渲染-浮力的一种实现 - 寂灭万乘
我们来实现一下来自水面的浮力
2018-11-05T06:32:00Z
2018-11-05T06:32:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】我们来实现一下来自水面的浮力 <a href="https://www.cnblogs.com/millionsmultiplication/p/9908996.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9895079.html
水面渲染-波动方程 - 寂灭万乘
很多游戏描述的世界都会含有流体表面,他们可能是个水池,可能是桶强酸,或者一个熔岩坑。为使这些对象的表面如同物理世界一样,需要模拟波在液体表面的扰动传播方式。
2018-11-02T03:03:00Z
2018-11-02T03:03:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】很多游戏描述的世界都会含有流体表面,他们可能是个水池,可能是桶强酸,或者一个熔岩坑。为使这些对象的表面如同物理世界一样,需要模拟波在液体表面的扰动传播方式。 <a href="https://www.cnblogs.com/millionsmultiplication/p/9895079.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9720869.html
坐标系变换背后的数学推导 - 寂灭万乘
之前对坐标系的变换背后的数学原理感到不解,花时间研究下,发现只是简单的矩阵变换。
2018-09-28T13:02:00Z
2018-09-28T13:02:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】之前对坐标系的变换背后的数学原理感到不解,花时间研究下,发现只是简单的矩阵变换。 <a href="https://www.cnblogs.com/millionsmultiplication/p/9720869.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9570258.html
游戏常用算法-洗牌算法 - 寂灭万乘
洗牌算法是一个比较常见的面试题。
一副扑克54张牌,有54!种排列方式。最佳的洗牌算法,应该能够等概率地生成这54!种结果中的一种
2018-09-01T06:36:00Z
2018-09-01T06:36:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】洗牌算法是一个比较常见的面试题。
一副扑克54张牌,有54!种排列方式。最佳的洗牌算法,应该能够等概率地生成这54!种结果中的一种 <a href="https://www.cnblogs.com/millionsmultiplication/p/9570258.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9568766.html
游戏常用算法-四种迷宫生成算法 - 寂灭万乘
博主已实现RecursiveBacktracking(递归回溯),RecursiveSegmentation(递归分割),随机Prim算法,Kruskal+并查集四种迷宫生成算法,这篇文章主要对这四种算法进行简要的介绍
2018-08-31T15:32:00Z
2018-08-31T15:32:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】博主已实现RecursiveBacktracking(递归回溯),RecursiveSegmentation(递归分割),随机Prim算法,Kruskal+并查集四种迷宫生成算法,这篇文章主要对这四种算法进行简要的介绍 <a href="https://www.cnblogs.com/millionsmultiplication/p/9568766.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9474621.html
C#基础-gc算法 - 寂灭万乘
众所周知,c++是需要程序员手动管理内存的,然而手动释放内存很容易被程序员遗漏,从而导致资源浪费或内存泄露。为解决这个问题,垃圾回收器诞生了,代替程序员自动管理内存的释放。至于gc算法则是垃圾回收器清除垃圾的方法了。
本篇文章简单介绍一下各个gc算法的原理和优缺点
2018-08-14T06:55:00Z
2018-08-14T06:55:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】众所周知,c++是需要程序员手动管理内存的,然而手动释放内存很容易被程序员遗漏,从而导致资源浪费或内存泄露。为解决这个问题,垃圾回收器诞生了,代替程序员自动管理内存的释放。至于gc算法则是垃圾回收器清除垃圾的方法了。
本篇文章简单介绍一下各个gc算法的原理和优缺点 <a href="https://www.cnblogs.com/millionsmultiplication/p/9474621.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9416325.html
System.Collections.Generic 源码阅读总结 - 寂灭万乘
这篇文章是博主对DotNet 源码的System.Collections.Generic部分阅读后的总结
2018-08-03T13:20:00Z
2018-08-03T13:20:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】这篇文章是博主对DotNet 源码的System.Collections.Generic部分阅读后的总结 <a href="https://www.cnblogs.com/millionsmultiplication/p/9416325.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9409290.html
hashtable源码解析 - 寂灭万乘
Hashtable 也就是哈希表,是个非常重要的概率,这篇文章通过剖析hashtable源码来讲解hashtable的原理
2018-08-02T11:21:00Z
2018-08-02T11:21:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】Hashtable 也就是哈希表,是个非常重要的概率,这篇文章通过剖析hashtable源码来讲解hashtable的原理 <a href="https://www.cnblogs.com/millionsmultiplication/p/9409290.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/millionsmultiplication/p/9392626.html
BitArray源码解析 - 寂灭万乘
BitArray是C# System.Collections内置的集合,用于帮助进行位运算。
这篇文章是对DotNet源码中BitArray部分的代码解析
2018-07-30T12:45:00Z
2018-07-30T12:45:00Z
寂灭万乘
https://www.cnblogs.com/millionsmultiplication/
【摘要】BitArray是C# System.Collections内置的集合,用于帮助进行位运算。
这篇文章是对DotNet源码中BitArray部分的代码解析 <a href="https://www.cnblogs.com/millionsmultiplication/p/9392626.html" target="_blank">阅读全文</a>