日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[0] 各类图形的数据大小获得

發布時間:2025/3/19 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [0] 各类图形的数据大小获得 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要創建一個幾何圖形,先得知道其數據大小,以申請合適的內存.

1 bool YfCalculateGeometryBufferSize 2 ( 3 YeGraphType graphType, 4 Yuint slices, 5 Yuint stacks, 6 OUT Yuint& numVertices, // 頂點數目 7 OUT Yuint& numTriangles, // 三角形數目 8 OUT Yuint& numLines // 線段數目 9 ) 10 { 11 switch (graphType) 12 { 13 case YE_GRAPH_PLANE: 14 { 15 if (slices < 2 || stacks < 2) 16 { 17 return false; 18 } 19 numVertices = slices * stacks; 20 numTriangles = (slices - 1) * (stacks - 1) * 2; 21 numLines = slices * (stacks - 1) +(slices - 1) * stacks; 22 } 23 break; 24 25 case YE_GRAPH_BOX: 26 { 27 numVertices = 8; 28 numTriangles = 12; 29 numLines = 12; 30 } 31 break; 32 33 case YE_GRAPH_SPHERE: 34 { 35 if (slices < 2 || stacks < 3) 36 { 37 return false; 38 } 39 numVertices = slices * (stacks - 2) + 2; 40 numTriangles = slices * (stacks - 2) * 2; 41 numLines = slices * (stacks - 2) + slices * (stacks - 1); 42 } 43 break; 44 45 case YE_GRAPH_DRUM: 46 { 47 if (slices < 2 || stacks < 3) 48 { 49 return false; 50 } 51 numVertices = slices * stacks + 2; 52 numTriangles = slices * stacks * 2; 53 numLines = slices * stacks + slices * (stacks + 1); 54 } 55 break; 56 57 case YE_GRAPH_HEMISPHERE: 58 { 59 if (slices < 2 || stacks < 3) 60 { 61 return false; 62 } 63 numVertices = slices * (stacks - 1) + 1; 64 numTriangles = slices * (stacks - 2) * 2 + slices; 65 numLines = slices * (stacks - 1) * 2; 66 } 67 break; 68 69 case YE_GRAPH_CONE: 70 { 71 if (slices < 2) 72 { 73 return false; 74 } 75 numVertices = slices + 2; 76 numTriangles = slices * 2; 77 numLines = slices * 2; 78 } 79 break; 80 81 case YE_GRAPH_CYLINDER: 82 { 83 if (slices < 2) 84 { 85 return false; 86 } 87 numVertices = slices * 2 + 2; 88 numTriangles = slices * 4; 89 numLines = slices * 5; 90 } 91 break; 92 93 case YE_GRAPH_CAPSULE: 94 { 95 Yuint halfStacks = stacks / 2; 96 if (slices < 2 || halfStacks < 2) 97 { 98 return false; 99 } 100 numVertices = slices * (halfStacks - 1) * 2 + 2; 101 numTriangles = slices * (halfStacks - 1) * 4; 102 numLines = slices * (halfStacks - 1) * 2 + slices * (2 * halfStacks - 1); 103 } 104 break; 105 106 case YE_GRAPH_PYRAMID: 107 { 108 numVertices = 5; 109 numTriangles = 6; 110 numLines = 8; 111 } 112 break; 113 114 case YE_GRAPH_ROUND: 115 { 116 if (slices < 3) 117 { 118 return false; 119 } 120 numVertices = slices + 1; 121 numTriangles = slices; 122 numLines = slices; 123 } 124 break; 125 126 case YE_GRAPH_RING: 127 { 128 if (slices < 2 || stacks < 3) 129 { 130 return false; 131 } 132 numVertices = slices * stacks; 133 numTriangles = slices * stacks * 2; 134 numLines = slices * stacks * 2; 135 } 136 break; 137 138 case YE_GRAPH_PIPE: 139 { 140 if (slices < 2) 141 { 142 return false; 143 } 144 numVertices = slices * 4; 145 numTriangles = slices * 8; 146 numLines = slices * 8; 147 } 148 break; 149 150 case YE_GRAPH_WEDGE: 151 { 152 numVertices = 6; 153 numTriangles = 8; 154 numLines = 9; 155 } 156 break; 157 158 case YE_GRAPH_FAN: 159 { 160 if (slices < 2) 161 { 162 return false; 163 } 164 numVertices = (slices + 1) * 2; 165 numTriangles = slices * 4; 166 numLines = slices + (slices-1) * 2 + 5; 167 } 168 break; 169 170 case YE_GRAPH_ARC: 171 { 172 if (slices < 2 || stacks < 3) 173 { 174 return false; 175 } 176 numVertices = slices * (stacks - 1) + 1; 177 numTriangles = slices * (stacks - 2) * 2 + slices; 178 numLines = slices * (stacks - 1) * 2; 179 } 180 break; 181 182 case YE_GRAPH_GEARWHEEL: 183 { 184 if (slices < 3) 185 { 186 return false; 187 } 188 numVertices = (slices*2) * 2 + 2; 189 numTriangles = slices * 8; 190 numLines = (slices*2) * 5; 191 } 192 break; 193 194 case YE_GRAPH_STAR: 195 { 196 if (slices < 3) 197 { 198 return false; 199 } 200 numVertices = (slices*2) + 2; 201 numTriangles = slices * 4; 202 numLines = slices * 5; 203 } 204 break; 205 206 case YE_GRAPH_SPIRE: 207 { 208 if (stacks < 1 || slices < 3) 209 { 210 return false; 211 } 212 numVertices = 2 + stacks * 2; 213 numTriangles = stacks * 2; 214 numLines = 1 + stacks * 3; 215 } 216 break; 217 218 case YE_GRAPH_STAIRS: 219 { 220 if (stacks < 1) 221 { 222 return false; 223 } 224 numVertices = 2 + stacks * 4; 225 numTriangles = stacks * 8; 226 numLines = 1 + stacks * 8; 227 } 228 break; 229 230 case YE_GRAPH_SPIRAL_STAIRS: 231 { 232 if (stacks < 1) 233 { 234 return false; 235 } 236 numVertices = 2 + stacks * 4; 237 numTriangles = stacks * 8; 238 numLines = 1 + stacks * 8; 239 } 240 break; 241 242 default: 243 { 244 numVertices = 0; 245 numTriangles = 0; 246 numLines = 0; 247 return false; 248 } 249 break; 250 } 251 252 return true; 253 }

?

總結

以上是生活随笔為你收集整理的[0] 各类图形的数据大小获得的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品在线视频一区 | 亚洲一级无毛 | 国产精品后入内射日本在线观看 | xxxxx在线视频| 小草av | 天天看天天做 | 香蕉大人久久国产成人av | 欧美大屁股熟妇bbbbbb | 亚洲第五页| 国产美女激情视频 | 中文字幕日韩国产 | 亚洲剧情在线 | 免费中文字幕在线观看 | 骚黄网站 | 91桃色视频在线观看 | 男人的av | 污污的视频在线观看 | 久久国产精品久久久久久电车 | 天堂av在线网 | www.五月天com | 中文字幕超碰在线 | 日日爽夜夜爽 | 午夜日韩 | 久久久久国产免费 | 欧美日韩在线免费观看 | av污| 久久久久久久9 | 黄色一级视频在线观看 | 日韩精品一二三区 | 亚洲精品aaaa | 黄色一级片国产 | 成人自拍视频在线 | 国产88av| 97超碰超碰 | 免费黄色小说视频 | 一区二区三区视频在线观看 | 少女情窦初开的第4集在线观看 | 足疗店女技师按摩毛片 | 99久久久久久久久 | 亚洲草逼 | 性午夜| 黄色日韩 | 毛片大片 | 黄色的一级片 | 国产九色在线 | 欧美xxxxxhd | 精品国产乱码久久久久久蜜臀 | 正在播放国产一区 | 久久久久成人精品无码中文字幕 | 成人免费毛片东京热 | 一区二区三区免费播放 | 欧美日韩一区电影 | 在线亚洲网站 | 免费网站看av | 欧美丰满熟妇bbb久久久 | 天堂а√在线最新版中文在线 | 国产小视频免费 | 这里只有精品视频在线观看 | 精品蜜桃av | 国产手机在线播放 | 日干夜操| 99精品在线观看视频 | 色偷偷888欧美精品久久久 | 午夜在线小视频 | 久久美女免费视频 | 97毛片| 亚洲综合五区 | 欧美一卡二卡在线观看 | 色欲AV无码精品一区二区久久 | 撸大师av| 日本人妻熟妇久久久久久 | 精品在线视频播放 | 高h奶汁双性受1v1 | 日本熟妇成熟毛茸茸 | 国产精彩视频一区二区 | 久久久久99精品 | 日韩一区二区三区在线免费观看 | 国产91精品一区二区 | 成人午夜网 | 高潮爽爆喷水h | 亚洲作爱网 | 中国女人毛片 | 欧美激情四区 | 日本免费成人 | 婷婷激情社区 | 欧美一区二区三区啪啪 | 日本激情影院 | 自拍超碰 | 亚洲国产成人自拍 | 日韩精品免费电影 | 97成人在线视频 | 国产成人一级 | 国产男女视频在线观看 | 91一区二区三区在线 | 亚洲毛片精品 | 国产三级在线看 | 五月天婷婷久久 | 亚洲精选在线 | 久草久|