Inheritance diagram for NL3D::CRenderZBuffer:
Public Member Functions | |
CRenderZBuffer (uint process, CZoneLighter *zoneLighter, const CZoneLighter::CLightDesc *description, uint firstTriangle, uint numTriangle, const vector< CZoneLighter::CTriangle > *triangles) | |
virtual void | getName (std::string &result) const |
virtual void | run () |
Data Fields | |
IThread * | Thread |
Private Attributes | |
const CZoneLighter::CLightDesc * | _Description |
uint | _FirstTriangle |
uint | _NumTriangle |
uint | _Process |
const vector< CZoneLighter::CTriangle > * | _Triangles |
CZoneLighter * | _ZoneLighter |
|
Definition at line 422 of file zone_lighter.cpp. References uint.
00423 { 00424 _ZoneLighter = zoneLighter; 00425 _Description = description; 00426 _Process = process; 00427 _FirstTriangle = firstTriangle; 00428 _NumTriangle = numTriangle; 00429 _Triangles = triangles; 00430 } |
|
Reimplemented in NL3D::CAsyncFileManager3D::CMeshLoad, NL3D::CAsyncFileManager3D::CIGLoad, NL3D::CAsyncFileManager3D::CIGLoadUser, NL3D::CAsyncFileManager3D::CTextureLoad, NL3D::CZoneLoadingTask, NLPACS::CGlobalRetriever::CLrLoader, NLMISC::CAsyncFileManager::CFileLoad, NLMISC::CAsyncFileManager::CMultipleFileLoad, and NLMISC::CAsyncFileManager::CSignal. Definition at line 74 of file thread.h. Referenced by NLMISC::CTaskManager::run().
00075 {
00076 result = "NoName";
00077 }
|
|
Implements NLMISC::IRunnable. Definition at line 633 of file zone_lighter.cpp. References _FirstTriangle, NL3D::CZoneLighter::_Mutex, NL3D::CZoneLighter::_NumberOfPatchComputed, _NumTriangle, NL3D::CZoneLighter::_ProcessExited, NL3D::CZoneLighter::_SunDirection, NL3D::CZoneLighter::_ZBufferLandscape, NL3D::CZoneLighter::_ZBufferObject, NL3D::CZoneLighter::CTriangle::Flags, NLMISC::CPlane::getNormal(), NL3D::CZoneLighter::CTriangle::getPlane(), RenderTriangle(), setCPUMask(), NL3D::CZoneLighter::CLightDesc::SoftShadowSamplesSqrt, NLMISC::CPolygon2D::TRasterVect, and uint.
00634 { 00635 // Set the CPU mask 00636 setCPUMask (Thread, _Process); 00637 00638 // Span array 00639 CPolygon2D::TRasterVect borders; 00640 00641 // For each triangles 00642 uint i; 00643 for (i=_FirstTriangle; i<_FirstTriangle+_NumTriangle; i++) 00644 { 00645 // Triangle reference 00646 const CZoneLighter::CTriangle &triangle = (*_Triangles)[i]; 00647 00648 // Keep backface and doublesided polygons 00649 if ((triangle.Flags & CZoneLighter::CTriangle::DoubleSided) || ((triangle.getPlane ().getNormal() * _ZoneLighter->_SunDirection) > 0)) 00650 { 00651 // Landscape triangle ? 00652 if (triangle.Flags & CZoneLighter::CTriangle::Landscape) 00653 { 00654 // For each landscape zbuffer 00655 uint sample; 00656 const uint samples = _Description->SoftShadowSamplesSqrt*_Description->SoftShadowSamplesSqrt; 00657 for (sample=0; sample<samples; sample++) 00658 { 00659 RenderTriangle (triangle, *_Description, borders, _ZoneLighter->_Mutex, _ZoneLighter->_ZBufferLandscape[sample], 9); 00660 } 00661 } 00662 else 00663 { 00664 // Render in a high resolution zbuffer 00665 RenderTriangle (triangle, *_Description, borders, _ZoneLighter->_Mutex, _ZoneLighter->_ZBufferObject, 1); 00666 } 00667 } 00668 _ZoneLighter->_NumberOfPatchComputed++; 00669 } 00670 00671 // Exit 00672 _ZoneLighter->_ProcessExited++; 00673 } |
|
Definition at line 410 of file zone_lighter.cpp. |
|
Definition at line 413 of file zone_lighter.cpp. Referenced by run(). |
|
Definition at line 414 of file zone_lighter.cpp. Referenced by run(). |
|
Definition at line 406 of file zone_lighter.cpp. |
|
Definition at line 415 of file zone_lighter.cpp. |
|
Definition at line 407 of file zone_lighter.cpp. |
|
Definition at line 418 of file zone_lighter.cpp. Referenced by NL3D::CZoneLighter::light(). |