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


C++ mat3::data方法代码示例

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


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

示例1: setUniform

void Program::setUniform(int nLoc, uint32_t type, const mat3& value, bool forced)
{
	if (nLoc == -1) return;
	
	(void)type;
	assert(type == GL_FLOAT_MAT3);
	assert(loaded());
	
	if (forced || ((_mat3Cache.count(nLoc) == 0) || (_mat3Cache[nLoc] != value)))
	{
		_mat3Cache[nLoc] = value;
		glUniformMatrix3fv(nLoc, 1, 0, value.data());
	}
	
	checkOpenGLError("setUniform - mat3");
}
开发者ID:celesius,项目名称:et-engine,代码行数:16,代码来源:program.cpp

示例2: setUniform

void Program::setUniform(int nLoc, uint32_t type, const mat3& value, bool forced)
{
#if !defined(ET_CONSOLE_APPLICATION)
	if (nLoc == -1) return;
	
	(void)type;
	ET_ASSERT(type == GL_FLOAT_MAT3);
	ET_ASSERT(apiHandleValid());
	
	if (forced || ((_mat3Cache.count(nLoc) == 0) || (_mat3Cache[nLoc] != value)))
	{
		_mat3Cache[nLoc] = value;
		glUniformMatrix3fv(nLoc, 1, 0, value.data());
		checkOpenGLError("glUniformMatrix3fv");
	}
	
#endif
}
开发者ID:Loki7979,项目名称:et-engine,代码行数:18,代码来源:program.cpp

示例3: eulerFromMatrix

vec3 eulerFromMatrix ( const mat3& m )
{
	const float * data = m.data ();
	vec3          angle;
	float		  c;
	
	angle.x = -asinf ( data [2] );
	c       =  cosf  ( angle.x  );

	if ( fabsf ( c ) > EPS )
	{
		angle.y = atan2f ( data [5] / c, data [8] / c );		// m12, m22
		angle.z = atan2f ( data [1] / c, data [0] / c );
	} 
	else
	{
		angle.y = 0.0f;
		angle.z = atan2f ( data [3], data [4] );
	}

	return angle;
}
开发者ID:galek,项目名称:steps-framework,代码行数:22,代码来源:mat3.cpp


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