GLUT でうまく表示されない?

以前作成した現在時刻を WebGL で表示するコードを GLUT を使用した方法に書き直し.
現在時刻を 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)の見直しが必要.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください