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


C++ Spectrum::GetR方法代码示例

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


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

示例1: StorePixel

// store pixel information
void BlenderImage::StorePixel( int x , int y , const Spectrum& color , const RenderTask& rt )
{
	if (!m_sharedMemory.bytes)
		return;

	int tile_w = rt.size.x;
	int tile_size = g_iTileSize * g_iTileSize;
	int x_off = (int)(rt.ori.x / g_iTileSize);
	int y_off = (int)(floor((m_height - 1 - rt.ori.y) / (float)g_iTileSize));
	int tile_offset = y_off * m_tilenum_x + x_off;
	int offset = 4 * tile_offset * tile_size;

	// get the data pointer
	float* data = (float*)(m_sharedMemory.bytes + m_header_offset);

	// get offset
	int inner_offset = offset + 4 * (x - rt.ori.x + (g_iTileSize - 1 - (y - rt.ori.y)) * tile_w);

	// copy data
	data[ inner_offset ] = color.GetR();
	data[ inner_offset + 1 ] = color.GetG();
	data[ inner_offset + 2 ] = color.GetB();
	data[ inner_offset + 3 ] = 1.0f;

	// for final update
	m_mutex[x][y].Lock();
	Spectrum _color = m_rendertarget.GetColor(x,y);
	m_rendertarget.SetColor(x, y, color+_color);
	m_mutex[x][y].Unlock();
}
开发者ID:tincann,项目名称:SORT,代码行数:31,代码来源:blenderimage.cpp


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