Heat simulation improvement.

This commit is contained in:
savask 2011-06-14 16:19:10 +07:00 committed by Simon Robertshaw
parent 304a2fa819
commit 5e43bb0510

View File

@ -1638,6 +1638,7 @@ void update_particles_i(pixel *vid, int start, int inc)
hv[y/CELL][x/CELL] -= c_heat;
}
c_heat = 0.0f;
float c_Cm = 0.0f;
for (j=0; j<8; j++)
{
surround_hconduct[j] = i;
@ -1650,12 +1651,14 @@ void update_particles_i(pixel *vid, int start, int inc)
&&(rt!=PT_FILT||(t!=PT_BRAY&&t!=PT_PHOT&&t!=PT_BIZR&&t!=PT_BIZRG)))
{
surround_hconduct[j] = r>>8;
c_heat += parts[r>>8].temp;
c_heat += parts[r>>8].temp*96.645/ptypes[rt].hconduct*ptypes[rt].weight;
c_Cm += 96.645/ptypes[rt].hconduct*ptypes[rt].weight;
h_count++;
}
}
pt = parts[i].temp = (c_heat+parts[i].temp)/(h_count+1);
pt = parts[i].temp = (c_heat+parts[i].temp*96.645/ptypes[t].hconduct*ptypes[t].weight)
/(c_Cm+96.645/ptypes[t].hconduct*ptypes[t].weight);
for (j=0; j<8; j++)
{
parts[surround_hconduct[j]].temp = pt;