日韩性视频-久久久蜜桃-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] 各类图形的数据大小获得的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久国产资源 | 亚洲精品在线观看网站 | 五月激情丁香婷婷 | 少妇被黑人到高潮喷出白浆 | 国产三级一区二区三区 | 干爹你真棒插曲mv在线观看 | 国产av电影一区二区三区 | 狠狠干综合网 | 国产乱仑视频 | 国产精品久久久久高潮 | 免费av入口 | 天堂av一区二区三区 | 亚洲精品污一区二区三区 | 欧美日韩色片 | 性欧美视频 | 17c在线观看视频 | julia一区二区三区在线观看 | 日韩xx视频 | 91色多多| 免费一级欧美片在线播放 | 香蕉久久夜色精品升级完成 | 激情深爱五月 | 国产精品视频不卡 | 久久久一二三四 | 97精品人妻一区二区三区在线 | 精品一区二区三区在线播放 | 姑娘第5集在线观看免费 | 男生尿隔着内裤呲出来视频 | 成人黄色免费看 | 国产又粗又硬又黄的视频 | 亚洲黑丝在线 | 在线成人欧美 | 99人人爽 | 狠狠鲁狠狠干 | 色婷婷综合久久久久中文 | 国产精品久久免费视频 | 黄色三级大片 | 中文字幕1页 | 久久99精品国产麻豆婷婷洗澡 | av网站一区| 国产精品亚洲欧美 | 色啊色| 免费日韩 | 豆花视频在线 | 毛片网站免费在线观看 | 欧美精品欧美极品欧美激情 | 一区二区三区不卡在线观看 | 四虎影院永久地址 | 国产在线拍揄自揄拍无码视频 | 91麻豆一区二区三区 | 美女视频在线免费观看 | 丁香婷婷在线观看 | 麻豆久久久久久久久久 | 免费看成人av | 国产欧美三级 | 一区二区视频免费观看 | 99久久国产宗和精品1上映 | 成人免费毛片色戒 | 久久国产精品无码一区二区 | 亚洲最大福利 | 国产精品18 | 日韩av网站在线 | 国产成人精品影院 | 欧美福利网 | 日韩不卡免费视频 | 日韩免费影院 | 美女热逼 | 国产精品久久久久久久久久久免费看 | 日韩在线视频免费 | 日韩在线观看一区 | av中文字幕不卡 | 色呦呦在线免费观看 | www.黄色片.com | 久久久九九| 红桃视频在线播放 | 亚洲区视频在线观看 | 亚洲天堂免费在线 | 一区二区三区在线不卡 | 五月婷婷小说 | 亚洲制服丝袜一区 | 99久久99久久精品国产片果冻 | 欧美美女性视频 | 欧美xx孕妇| 亚洲精品888| 伊人久久大香线蕉av一区 | 日本99热| 少妇裸体挤奶汁奶水视频 | 中文字幕国内自拍 | 99婷婷 | 中文免费在线观看 | 国产v亚洲 | 国产乡下妇女做爰视频 | 日本在线看片 | 夜夜操夜夜骑 | 少妇无套内谢久久久久 | 男女一起插插插 | 亚洲第一天堂av | 久操精品| 亚洲啊啊啊啊啊 |