Changeset 1718 for GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.cpp
- Timestamp:
- 11/07/06 13:56:58 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.cpp
r1715 r1718 1607 1607 const int entriesInPvs, 1608 1608 const float memoryCost, 1609 const bool vsp) 1609 const int viewSpaceSplits, 1610 const int objectSpaceSplits) 1610 1611 { 1611 1612 stats << "#Pass\n" << 0 << endl … … 1614 1615 << "#TotalEntriesInPvs\n" << entriesInPvs << endl 1615 1616 << "#Memory\n" << memoryCost << endl 1616 << "#Vsp\n" << (vsp ? 1 : 0) << endl 1617 << "#ViewSpaceSplits\n" << viewSpaceSplits << endl 1618 << "#ObjectSpaceSplits\n" << objectSpaceSplits << endl 1619 << "#VspOspRatio\n" << (float)viewSpaceSplits / (float)objectSpaceSplits << endl 1617 1620 << endl; 1618 1621 } … … 1782 1785 float &renderCost, 1783 1786 float &memory, 1784 int &pvsEntries) 1787 int &pvsEntries, 1788 int &viewSpaceSplits, 1789 int &objectSpaceSplits) 1785 1790 { 1786 1791 ViewCellContainer viewCells; … … 1844 1849 1845 1850 memory = pvsEntries * ObjectPvs::GetEntrySize(); 1851 1852 viewSpaceSplits = (int)viewCells.size(); 1853 objectSpaceSplits = (int)bvhNodes.size(); 1854 1846 1855 //cout << "viewCells: " << (int)viewCells.size() << " nodes: " << (int)bvhNodes.size() << " rc: " << renderCost << " entries: " << pvsEntries << endl; 1847 1856 … … 1857 1866 int entriesInPvs = 1; 1858 1867 int steps = 0; 1868 int viewSpaceSplits = 0; 1869 int objectSpaceSplits = 0; 1859 1870 1860 1871 cout << "exporting vsposp stats ... " << endl; … … 1864 1875 //-- first view cell 1865 1876 1866 UpdateStats(stats, 2, totalRenderCost, entriesInPvs, memoryCost, true);1877 UpdateStats(stats, 2, totalRenderCost, entriesInPvs, memoryCost, viewSpaceSplits, objectSpaceSplits); 1867 1878 1868 1879 //-- go through tree in the order of render cost decrease … … 1907 1918 entriesInPvs += entriesIncr; 1908 1919 // if (rcDecr <= 0) 1909 if (nextCandidate->Type() == SubdivisionCandidate::VIEW_SPACE) 1920 if (nextCandidate->Type() == SubdivisionCandidate::VIEW_SPACE) 1921 { 1922 ++ viewSpaceSplits; 1910 1923 cout << "v";//cout << "vsp t: " << timeStamp << " rc: " << rcDecr << " pvs: " << entriesIncr << endl; 1924 } 1911 1925 else 1926 { 1927 ++ objectSpaceSplits; 1912 1928 cout << "o";//"osp t: " << timeStamp << " rc: " << rcDecr << " pvs: " << entriesIncr << endl; 1929 } 1913 1930 1914 1931 ++ steps; … … 1916 1933 if ((steps % 500) == 499) 1917 1934 cout << steps << " steps taken" << endl; 1935 1918 1936 const float memoryCost = (float)entriesInPvs * (float)ObjectPvs::GetEntrySize(); 1919 UpdateStats(stats, steps, totalRenderCost, entriesInPvs, memoryCost, false);1937 UpdateStats(stats, steps, totalRenderCost, entriesInPvs, memoryCost, viewSpaceSplits, objectSpaceSplits); 1920 1938 } 1921 1939 … … 2010 2028 float memory; 2011 2029 int pvsEntries; 2030 int viewSpaceSplits; 2031 int objectSpaceSplits; 2012 2032 2013 2033 while (1) 2014 2034 { 2015 const int numSplits = ExtractStatistics(splits, 99999.0, renderCost, memory, pvsEntries); 2035 const int numSplits = ExtractStatistics(splits, 2036 99999.0, 2037 renderCost, 2038 memory, 2039 pvsEntries, 2040 viewSpaceSplits, 2041 objectSpaceSplits); 2016 2042 2017 UpdateStats(splitsStats, numSplits, renderCost, pvsEntries, memory, 0); 2043 UpdateStats(splitsStats, 2044 numSplits, 2045 renderCost, 2046 pvsEntries, 2047 memory, 2048 viewSpaceSplits, 2049 objectSpaceSplits); 2050 2018 2051 splits += splitsStepSize; 2019 2052 … … 2023 2056 } 2024 2057 2025 } 2058 2059 void HierarchyManager::CollectObjects(const AxisAlignedBox3 &box, ObjectContainer &objects) 2060 { 2061 } 2062 2063 }
Note: See TracChangeset
for help on using the changeset viewer.