DWORD_PTR Speckle::GetActiveTexHandle(TimeValue t, TexHandleMaker& thmaker) { if (texHandle) { if (texHandleValid.InInterval(t)) return texHandle->GetHandle(); else DiscardTexHandle(); } texHandle = thmaker.MakeHandle(GetVPDisplayDIB(t,thmaker,texHandleValid)); return texHandle->GetHandle(); }
DWORD UVtex::GetActiveTexHandle(TimeValue t, TexHandleMaker& thmaker) { #endif if (texHandle) { if (texHandleValid.InInterval(t)) return texHandle->GetHandle(); else DiscardTexHandle(); } Interval v; Update(t,v); Bitmap *bm; bm = BuildBitmap(thmaker.Size()); texHandle = thmaker.CreateHandle(bm); bm->DeleteThis(); texHandleValid.SetInfinite(); int i; pblock->GetValue(uv_uvchannel, t, i, texHandleValid); pblock->GetValue(uv_rtype, t, i, texHandleValid); pblock->GetValue(uv_gtype, t, i, texHandleValid); pblock->GetValue(uv_btype, t, i, texHandleValid); pblock->GetValue(uv_rcount, t, i, texHandleValid); pblock->GetValue(uv_gcount, t, i, texHandleValid); pblock->GetValue(uv_bcount, t, i, texHandleValid); float f; pblock->GetValue(uv_tintAmount, t, f, texHandleValid); pblock->GetValue(uv_rAmount, t, f, texHandleValid); pblock->GetValue(uv_gAmount, t, f, texHandleValid); pblock->GetValue(uv_bAmount, t, f, texHandleValid); Color c; pblock->GetValue(uv_tintColor, t, c, texHandleValid); BOOL b; pblock->GetValue(uv_clampUVW, t, b, texHandleValid); return texHandle->GetHandle(); }
DWORD plStaticEnvLayer::GetActiveTexHandle(TimeValue t, TexHandleMaker& thmaker) { // FIXME: ignore validity for now if (fTexHandle && fIValid.InInterval(t))// && texTime == CalcFrame(t)) return fTexHandle->GetHandle(); else { IDiscardTexHandle(); fTexTime = 0;//CalcFrame(t); fTexHandle = thmaker.MakeHandle(GetVPDisplayDIB(t, thmaker, fIValid)); if (fTexHandle) return fTexHandle->GetHandle(); else return 0; } }