RayTwitty, вот
это что? Кто тут качает траву? Трава?
CODE
void CDetailManager::hw_Render()
{
// Render-prepare
// Update timer
// Can't use RDEVICE.fTimeDelta since it is smoothed! Don't know why, but smoothed value looks more choppy!
float fDelta = Device.fTimeGlobal-m_global_time_old;
if ( (fDelta<0) || (fDelta>1)) fDelta = 0.03;
m_global_time_old = Device.fTimeGlobal;
m_time_rot_1 += (PI_MUL_2*fDelta/swing_current.rot1);
m_time_rot_2 += (PI_MUL_2*fDelta/swing_current.rot2);
m_time_pos += fDelta*swing_current.speed;
float tm_rot1 = (PI_MUL_2*Device.fTimeGlobal/swing_current.rot1); //Diesel new
float tm_rot2 = (PI_MUL_2*Device.fTimeGlobal/swing_current.rot2); //Diesel new
//float tm_rot1 = m_time_rot_1; //Diesel old
//float tm_rot2 = m_time_rot_2; //Diesel old
Fvector4 dir1,dir2;
dir1.set (_sin(tm_rot1),0,_cos(tm_rot1),0).normalize().mul(swing_current.amp1);
dir2.set (_sin(tm_rot2),0,_cos(tm_rot2),0).normalize().mul(swing_current.amp2);
// Setup geometry and DMA
RCache.set_Geometry (hw_Geom);
// Wave0
float scale = 1.f/float(quant);
Fvector4 wave;
wave.set (1.f/5.f, 1.f/7.f, 1.f/3.f, Device.fTimeGlobal*swing_current.speed); //Diesel new
//wave.set (1.f/5.f, 1.f/7.f, 1.f/3.f, m_time_pos); //Diesel old
RCache.set_c (&*hwc_consts, scale, scale, ps_r__Detail_l_aniso, ps_r__Detail_l_ambient); // consts
RCache.set_c (&*hwc_wave, wave.div(PI_MUL_2)); // wave
RCache.set_c (&*hwc_wind, dir1); // wind-dir
hw_Render_dump (&*hwc_array, 1, 0, c_hdr );
// Wave1
wave.set (1.f/3.f, 1.f/7.f, 1.f/5.f, Device.fTimeGlobal*swing_current.speed); //Diesel new
//wave.set (1.f/3.f, 1.f/7.f, 1.f/5.f, m_time_pos); //Diesel old
RCache.set_c (&*hwc_wave, wave.div(PI_MUL_2)); // wave
RCache.set_c (&*hwc_wind, dir2); // wind-dir
hw_Render_dump (&*hwc_array, 2, 0, c_hdr );
// Still
RCache.set_c (&*hwc_s_consts,scale, scale, scale, 1.f);
RCache.set_c (&*hwc_s_xform, Device.mFullTransform);
hw_Render_dump (&*hwc_s_array, 0, 1, c_hdr );
}
Вот
это ты куришь малость... Хоть раз бы движок скомпилировал... А потом бы предлагал покурить.
Это у вас в ТЧ шейдером однако, а у нас так как надо.
Это не шейдер MU, где листва и стволы шейдерно качаются. Тут действительно механически.
Это было сделано специально, так как ПЫСы ветер планировали делать, для раскачки травы.
Пойду курить, может шейдерно?