//-------------------------------------------------------------- public MSAFluidSolver setup(MSAFluidSolver f) { deleteFluidSolver(); _fluidSolver = f; allocatePixels(); return(_fluidSolver); }
//-------------------------------------------------------------- public MSAFluidSolver setup(int NX, int NY) { deleteFluidSolver(); _fluidSolver = new MSAFluidSolver(); _fluidSolver.setup(NX, NY); allocatePixels(); return(_fluidSolver); }
//-------------------------------------------------------------- void deleteFluidSolver() { // Debug.Log("deleteFluidSolver()\n"); if (_fluidSolver != null && _didICreateTheFluid) { _fluidSolver = null; _pixels = null; } }
bool _didICreateTheFluid; // TODO: replace with shared pointer //-------------------------------------------------------------- public MSAFluidDrawer() { _pixels = null; _fluidSolver = null; _didICreateTheFluid = false; enabled = true; brightness = 1; doInvert = false; velDrawMult = 1; vectorSkipCount = 0; enableAlpha(false); setDrawMode(DrawMode.kDrawColor); }
void Start() { fluidSolver = new MSAFluidSolver(); fluidDrawer = new MSAFluidDrawer(); colorMult = 2f; fluidCellsX = 80; fluidSolver.setup(fluidCellsX, fluidCellsX); fluidSolver.enableRGB(true).setFadeSpeed(0.003f).setDeltaT(0.5f).setVisc(0.0001f); fluidDrawer.setup(fluidSolver); texture = new Texture2D(fluidCellsX, fluidCellsX); GetComponent <Renderer>().material.mainTexture = texture; currColor = ColorFromHSV(Rand.randFloat() * 360f, 0.75f, 0.75f); ps.startColor = currColor; }