当前位置: 首页>>代码示例>>C++>>正文


C++ Viewpoint::lens方法代码示例

本文整理汇总了C++中Viewpoint::lens方法的典型用法代码示例。如果您正苦于以下问题:C++ Viewpoint::lens方法的具体用法?C++ Viewpoint::lens怎么用?C++ Viewpoint::lens使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Viewpoint的用法示例。


在下文中一共展示了Viewpoint::lens方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: onDraw

	virtual void onDraw(Graphics& g, const Viewpoint& v){		
		Frustumd fr;
		v.lens().frustum(fr, v.worldTransform(), v.viewport().aspect());

//		printf("ntl: %g %g %g\n", fr.ntl[0], fr.ntl[1], fr.ntl[2]);
//		printf("ftl: %g %g %g\n", fr.ftl[0], fr.ftl[1], fr.ftl[2]);

		Mesh& m = g.mesh();
		
		m.reset();
		m.primitive(g.LINES);
		m.vertex(-1,-1, -11);
		m.vertex( 1, 1, -12);

		for(int i=0; i<m.vertices().size(); ++i){
			int r = fr.testPoint(m.vertices()[i]);
			
			m.color(HSV(r ? 0.3 : 0));
		}

		g.lineWidth(10);
		g.antialiasing(g.NICEST);
		g.draw();

		{
//			int r = fr.testPoint(Vec3d(0,0,15));
//			printf("%d\n", r);
		}

		// draw rectangle across frustum diagonal
		m.reset();
		m.color(Color(0.5));
		m.vertex(fr.nbl);
		m.vertex(fr.fbr);
		m.vertex(fr.ntr);
		m.vertex(fr.ftl);
		m.primitive(g.LINE_LOOP);
		g.draw();
	}
开发者ID:Devil-hmr,项目名称:AlloSystem,代码行数:39,代码来源:frustumTesting.cpp


注:本文中的Viewpoint::lens方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。