Mantis_Volume_Simulator에서 놀자.

5363 단어 HOUDINI
Mantis_Volume_Simulator1.0



정보 공유 포함
베타 버전으로 ... 1.0ver를 발표했습니다.

Ui도 잡잡하고
Cache_CTRL&Render_Pipeline도 고려하지 않았지만...

일단 공연에서 ...Mantis_Sim_Performance Shape htps: //같다. 베 / k4kX 기에코 8A
: 오른쪽이 Smoke_Solver 왼쪽이 MantisMantis_Sim_ Turbulence_Flow htps: //같다. 베/시우오 28응↑8
Performance Surface_Based_Turburance htps: //같다. 베 / t 에후 49 FM
Common SettingGrid_Size {5,15,5}Grid Res {0.1}Voxels {[50,150,50]}Voxel_TotalCounts {375,000}Sim_time 200f
Simple_SmokeSolver


Sim_Time 31.424s
Total_Time 51.408s
Simple_SmokeSolver OpenCL


Sim_Time 14.669s
Total_Time 29.561s
Mantis_Volume_Simulator


Total_Time 27.196s
研究中Mantis_Volume_Simulator2.0

Sim_Time 11.649s
Total_Time 21.417s
How to Use1:Download HDA_file for DropBox
htps //w w. d 필터 p 보 x. 이 m/s/0ゔ아아아 xh77p바/만치 s_ゔぅぅ메_시무아와 r1.0_bぁck보 x. h단 c? dl=0

2 : Seting HDA File (Non-Commercial Edition (BlackBOX)에서 작성 중)
HDA는 Help를 참조하는 것이 좋습니다.

3:Build 확인

OpenCL이 잘 작동하면 정상적으로 사용할 수 있습니다.

4:Setting Parms&edit Volume_Shapes


5 : 오로지 놀기 ...

학습할 수 있는 장르
Parameter_CTRL에서
Grid Control
Volume Velosity
Viscosity Sim
Turbulence_Flow

마이크로 솔버 운타라 칸타라하기 전에
우선은 만져 보는 것이 제일입니다.

복잡한 Simulation을 구축하기 전에 먼저 전체 이미지를 꽉 잡아 봅시다.
Tec TipsOpenCL Based Simulator
Divergence를 검토하고 있습니다.
Dissipation을 검토하고 있습니다.

사용 Field는 Density,Vel
그 외는 temporary_Field로 취급하고 있습니다.
DissipateはH_OpenCL&VEXで記述してみました
아래 Source_CodeGAS_OPENCL
#include "interpolate.h" 
float lerpConstant( constant float * in, int size, float pos);

kernel void dissipate( 
                 int stride_x, 
                 int stride_y, 
                 int stride_z, 
                 int stride_offset, 
                 float timeinc, 
                 float time, 
                 float  eva_parm ,
                 global float * density 
)
{
 int idx = stride_offset +
            get_global_id(0) * stride_x +
            get_global_id(1) * stride_y +
            get_global_id(2) * stride_z;

            //Create Evapolate 
            float Invert_eva = -eva_parm;
                  Invert_eva +=1;
            float clp_min = 0;
            float clp_max =1;

            float evaporate = pow(clamp(Invert_eva,clp_min,clp_max),timeinc);

          density[idx] *=evaporate;



}
GAS Field Wrangle
float parm_eva = chf("parm_eva");


float Invert_eva =-parm_eva;
      Invert_eva +=1;

float evaporate = pow(clamp(Invert_eva,0,1),@TimeInc);

@density *=evaporate;
Setting_Sampletest_01
test_02

눈치채는 사람은 알고 있다고 생각합니다만...
이름은 Manta_Flow의 파크리입니다 웃음
자신은
더 예술적으로 표현하고 싶습니다.
어려운 ....

DOP 자산 만들기 연습도 겸하고
Opencl 코딩에 계산의 일부를 떨어뜨려 보거나
여러가지 해 보았습니다.
F○ME라든지 P○○enix와 같은 조작성을 Houdini에도 떨어뜨릴 수 있으면...

알고리즘의 간단한 Tec Report는 공부회나 세미나등에서 공유할 수 있으면 좋네요.

학습 리소스에 도움을주십시오.
학습용입니다...웃음

Let`s Thinking(^ _ ^)

추신
HDK 어려운 ...

좋은 웹페이지 즐겨찾기