以前作成した現在時刻を WebGL で表示するコードを GLUT を使用した方法に書き直し.

右側の面が正しく表示されていない.

見えない面を表示しない様に判断しているコードは次の様なもの.
{
Vd3 ev = eye ;
Vd3 nv ;
Vd3 pt ;
for (size_t fvIndex=0 ; fvIndex<pia.size() ; fvIndex++) {
long fVert = pia[fvIndex].x ;
long nVert = pia[fvIndex].y ;
Vd3 n1 = ::Vx_get(nrms,nVert) ;
Vd3 p1 = ::Vx_get(pnts,fVert) ;
nv = nv + n1 ;
pt = p1 ;
}
ev = ev - pt ;
nv = nv.Normalized() ;
ev = ev.Normalized() ;
double theta = ::deg(acos(nv.Dot(ev))) ;
if (theta > 90) { continue ; }
}
原因は,描画用に与えている視点で目標点が加算されていなかったため.
void draw(void)
{
GonsA* ga = get_GonsA() ;
Vd3 eye = ::get_c_glut()->EP ;
// eye+= ::get_c_glut()->TP ;
::GonsA_to_gl(*ga,eye) ;
}
最終的にはこのあたり(C_glut)の見直しが必要.