本文整理汇总了C++中Spectrum::GetB方法的典型用法代码示例。如果您正苦于以下问题:C++ Spectrum::GetB方法的具体用法?C++ Spectrum::GetB怎么用?C++ Spectrum::GetB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Spectrum
的用法示例。
在下文中一共展示了Spectrum::GetB方法的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();
}