Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.81 KB | None | 0 0
  1. switch (type_) {
  2. case T_1D: {
  3. switch (f) {
  4. case F_R: {
  5. switch (t) {
  6. case EDK3::T_UBYTE: {
  7. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_UNSIGNED_BYTE, data);
  8. break; }
  9. case EDK3::T_BYTE: {
  10. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_BYTE, data);
  11. break; }
  12. case EDK3::T_USHORT: {
  13. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_UNSIGNED_SHORT, data);
  14. break; }
  15. case EDK3::T_SHORT: {
  16. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_SHORT, data);
  17. break; }
  18. case EDK3::T_UINT: {
  19. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_UNSIGNED_INT, data);
  20. break; }
  21. case EDK3::T_INT: {
  22. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_INT, data);
  23. break; }
  24. case EDK3::T_FLOAT: {
  25. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RED, GL_FLOAT, data);
  26. break; }
  27. }
  28. break; }
  29. case F_RG: {
  30. switch (t) {
  31. case EDK3::T_UBYTE: {
  32. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_UNSIGNED_BYTE, data);
  33. break; }
  34. case EDK3::T_BYTE: {
  35. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_BYTE, data);
  36. break; }
  37. case EDK3::T_USHORT: {
  38. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_UNSIGNED_SHORT, data);
  39. break; }
  40. case EDK3::T_SHORT: {
  41. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_SHORT, data);
  42. break; }
  43. case EDK3::T_UINT: {
  44. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_UNSIGNED_INT, data);
  45. break; }
  46. case EDK3::T_INT: {
  47. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_INT, data);
  48. break; }
  49. case EDK3::T_FLOAT: {
  50. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RG, GL_FLOAT, data);
  51. break; }
  52. }
  53. break; }
  54. case F_RGB: {
  55. switch (t) {
  56. case EDK3::T_UBYTE: {
  57. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
  58. break; }
  59. case EDK3::T_BYTE: {
  60. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_BYTE, data);
  61. break; }
  62. case EDK3::T_USHORT: {
  63. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_UNSIGNED_SHORT, data);
  64. break; }
  65. case EDK3::T_SHORT: {
  66. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_SHORT, data);
  67. break; }
  68. case EDK3::T_UINT: {
  69. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_UNSIGNED_INT, data);
  70. break; }
  71. case EDK3::T_INT: {
  72. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_INT, data);
  73. break; }
  74. case EDK3::T_FLOAT: {
  75. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGB, GL_FLOAT, data);
  76. break; }
  77. }
  78. break; }
  79. case F_BGR: {
  80. switch (t) {
  81. case EDK3::T_UBYTE: {
  82. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_UNSIGNED_BYTE, data);
  83. break; }
  84. case EDK3::T_BYTE: {
  85. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_BYTE, data);
  86. break; }
  87. case EDK3::T_USHORT: {
  88. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_UNSIGNED_SHORT, data);
  89. break; }
  90. case EDK3::T_SHORT: {
  91. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_SHORT, data);
  92. break; }
  93. case EDK3::T_UINT: {
  94. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_UNSIGNED_INT, data);
  95. break; }
  96. case EDK3::T_INT: {
  97. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_INT, data);
  98. break; }
  99. case EDK3::T_FLOAT: {
  100. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGR, GL_FLOAT, data);
  101. break; }
  102. }
  103. break; }
  104. case F_BGRA: {
  105. switch (t) {
  106. case EDK3::T_UBYTE: {
  107. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_UNSIGNED_BYTE, data);
  108. break; }
  109. case EDK3::T_BYTE: {
  110. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_BYTE, data);
  111. break; }
  112. case EDK3::T_USHORT: {
  113. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_UNSIGNED_SHORT, data);
  114. break; }
  115. case EDK3::T_SHORT: {
  116. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_SHORT, data);
  117. break; }
  118. case EDK3::T_UINT: {
  119. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_UNSIGNED_INT, data);
  120. break; }
  121. case EDK3::T_INT: {
  122. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_INT, data);
  123. break; }
  124. case EDK3::T_FLOAT: {
  125. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_BGRA, GL_FLOAT, data);
  126. break; }
  127. }
  128. break; }
  129. case F_RGBA: {
  130. switch (t) {
  131. case EDK3::T_UBYTE: {
  132. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
  133. break; }
  134. case EDK3::T_BYTE: {
  135. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_BYTE, data);
  136. break; }
  137. case EDK3::T_USHORT: {
  138. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_UNSIGNED_SHORT, data);
  139. break; }
  140. case EDK3::T_SHORT: {
  141. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_SHORT, data);
  142. break; }
  143. case EDK3::T_UINT: {
  144. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_UNSIGNED_INT, data);
  145. break; }
  146. case EDK3::T_INT: {
  147. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_INT, data);
  148. break; }
  149. case EDK3::T_FLOAT: {
  150. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_RGBA, GL_FLOAT, data);
  151. break; }
  152. }
  153. break; }
  154. case F_DEPTH: {
  155. switch (t) {
  156. case EDK3::T_UBYTE: {
  157. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, data);
  158. break; }
  159. case EDK3::T_BYTE: {
  160. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_BYTE, data);
  161. break; }
  162. case EDK3::T_USHORT: {
  163. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, data);
  164. break; }
  165. case EDK3::T_SHORT: {
  166. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_SHORT, data);
  167. break; }
  168. case EDK3::T_UINT: {
  169. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, data);
  170. break; }
  171. case EDK3::T_INT: {
  172. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_INT, data);
  173. break; }
  174. case EDK3::T_FLOAT: {
  175. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_COMPONENT, GL_FLOAT, data);
  176. break; }
  177. }
  178. break; }
  179. case F_DEPTH32: {
  180. switch (t) {
  181. case EDK3::T_UBYTE: {
  182. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_BYTE, data);
  183. break; }
  184. case EDK3::T_BYTE: {
  185. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_BYTE, data);
  186. break; }
  187. case EDK3::T_USHORT: {
  188. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_SHORT, data);
  189. break; }
  190. case EDK3::T_SHORT: {
  191. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_SHORT, data);
  192. break; }
  193. case EDK3::T_UINT: {
  194. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT, data);
  195. break; }
  196. case EDK3::T_INT: {
  197. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_INT, data);
  198. break; }
  199. case EDK3::T_FLOAT: {
  200. glTexImage1D(GL_TEXTURE_1D, mipmap_LOD, format_, width_, 0, GL_DEPTH_STENCIL, GL_FLOAT, data);
  201. break; }
  202. }
  203. break; }
  204. break; }
  205. break; }
  206. case T_2D: {
  207. switch (f) {
  208. case F_R: {
  209. switch (t) {
  210. case EDK3::T_UBYTE: {
  211. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_UNSIGNED_BYTE, data);
  212. break; }
  213. case EDK3::T_BYTE: {
  214. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_BYTE, data);
  215. break; }
  216. case EDK3::T_USHORT: {
  217. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_UNSIGNED_SHORT, data);
  218. break; }
  219. case EDK3::T_SHORT: {
  220. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_SHORT, data);
  221. break; }
  222. case EDK3::T_UINT: {
  223. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_UNSIGNED_INT, data);
  224. break; }
  225. case EDK3::T_INT: {
  226. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_INT, data);
  227. break; }
  228. case EDK3::T_FLOAT: {
  229. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_FLOAT, data);
  230. break; }
  231. }
  232. break; }
  233. case F_RG: {
  234. switch (t) {
  235. case EDK3::T_UBYTE: {
  236. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_UNSIGNED_BYTE, data);
  237. break; }
  238. case EDK3::T_BYTE: {
  239. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_BYTE, data);
  240. break; }
  241. case EDK3::T_USHORT: {
  242. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_UNSIGNED_SHORT, data);
  243. break; }
  244. case EDK3::T_SHORT: {
  245. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_SHORT, data);
  246. break; }
  247. case EDK3::T_UINT: {
  248. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_UNSIGNED_INT, data);
  249. break; }
  250. case EDK3::T_INT: {
  251. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_INT, data);
  252. break; }
  253. case EDK3::T_FLOAT: {
  254. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_FLOAT, data);
  255. break; }
  256. }
  257. break; }
  258. case F_RGB: {
  259. switch (t) {
  260. case EDK3::T_UBYTE: {
  261. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
  262. break; }
  263. case EDK3::T_BYTE: {
  264. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_BYTE, data);
  265. break; }
  266. case EDK3::T_USHORT: {
  267. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_UNSIGNED_SHORT, data);
  268. break; }
  269. case EDK3::T_SHORT: {
  270. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_SHORT, data);
  271. break; }
  272. case EDK3::T_UINT: {
  273. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_UNSIGNED_INT, data);
  274. break; }
  275. case EDK3::T_INT: {
  276. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_INT, data);
  277. break; }
  278. case EDK3::T_FLOAT: {
  279. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_FLOAT, data);
  280. break; }
  281. }
  282. break; }
  283. case F_BGR: {
  284. switch (t) {
  285. case EDK3::T_UBYTE: {
  286. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_UNSIGNED_BYTE, data);
  287. break; }
  288. case EDK3::T_BYTE: {
  289. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_BYTE, data);
  290. break; }
  291. case EDK3::T_USHORT: {
  292. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_UNSIGNED_SHORT, data);
  293. break; }
  294. case EDK3::T_SHORT: {
  295. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_SHORT, data);
  296. break; }
  297. case EDK3::T_UINT: {
  298. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_UNSIGNED_INT, data);
  299. break; }
  300. case EDK3::T_INT: {
  301. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_INT, data);
  302. break; }
  303. case EDK3::T_FLOAT: {
  304. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_FLOAT, data);
  305. break; }
  306. }
  307. break; }
  308. case F_BGRA: {
  309. switch (t) {
  310. case EDK3::T_UBYTE: {
  311. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_UNSIGNED_BYTE, data);
  312. break; }
  313. case EDK3::T_BYTE: {
  314. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_BYTE, data);
  315. break; }
  316. case EDK3::T_USHORT: {
  317. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_UNSIGNED_SHORT, data);
  318. break; }
  319. case EDK3::T_SHORT: {
  320. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_SHORT, data);
  321. break; }
  322. case EDK3::T_UINT: {
  323. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_UNSIGNED_INT, data);
  324. break; }
  325. case EDK3::T_INT: {
  326. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_INT, data);
  327. break; }
  328. case EDK3::T_FLOAT: {
  329. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_FLOAT, data);
  330. break; }
  331. }
  332. break; }
  333. case F_RGBA: {
  334. switch (t) {
  335. case EDK3::T_UBYTE: {
  336. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
  337. break; }
  338. case EDK3::T_BYTE: {
  339. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_BYTE, data);
  340. break; }
  341. case EDK3::T_USHORT: {
  342. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_UNSIGNED_SHORT, data);
  343. break; }
  344. case EDK3::T_SHORT: {
  345. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_SHORT, data);
  346. break; }
  347. case EDK3::T_UINT: {
  348. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_UNSIGNED_INT, data);
  349. break; }
  350. case EDK3::T_INT: {
  351. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_INT, data);
  352. break; }
  353. case EDK3::T_FLOAT: {
  354. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_FLOAT, data);
  355. break; }
  356. }
  357. break; }
  358. case F_DEPTH: {
  359. switch (t) {
  360. case EDK3::T_UBYTE: {
  361. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, data);
  362. break; }
  363. case EDK3::T_BYTE: {
  364. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_BYTE, data);
  365. break; }
  366. case EDK3::T_USHORT: {
  367. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, data);
  368. break; }
  369. case EDK3::T_SHORT: {
  370. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_SHORT, data);
  371. break; }
  372. case EDK3::T_UINT: {
  373. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, data);
  374. break; }
  375. case EDK3::T_INT: {
  376. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_INT, data);
  377. break; }
  378. case EDK3::T_FLOAT: {
  379. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_FLOAT, data);
  380. break; }
  381. }
  382. break; }
  383. case F_DEPTH32: {
  384. switch (t) {
  385. case EDK3::T_UBYTE: {
  386. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_BYTE, data);
  387. break; }
  388. case EDK3::T_BYTE: {
  389. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_BYTE, data);
  390. break; }
  391. case EDK3::T_USHORT: {
  392. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_SHORT, data);
  393. break; }
  394. case EDK3::T_SHORT: {
  395. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_SHORT, data);
  396. break; }
  397. case EDK3::T_UINT: {
  398. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT, data);
  399. break; }
  400. case EDK3::T_INT: {
  401. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_INT, data);
  402. break; }
  403. case EDK3::T_FLOAT: {
  404. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_FLOAT, data);
  405. break; }
  406. }
  407. break; }
  408. }
  409. break; }
  410. case T_3D: {
  411. switch (f) {
  412. case F_R: {
  413. switch (t) {
  414. case EDK3::T_UBYTE: {
  415. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_UNSIGNED_BYTE, data);
  416. break; }
  417. case EDK3::T_BYTE: {
  418. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_BYTE, data);
  419. break; }
  420. case EDK3::T_USHORT: {
  421. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_UNSIGNED_SHORT, data);
  422. break; }
  423. case EDK3::T_SHORT: {
  424. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_SHORT, data);
  425. break; }
  426. case EDK3::T_UINT: {
  427. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_UNSIGNED_INT, data);
  428. break; }
  429. case EDK3::T_INT: {
  430. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_INT, data);
  431. break; }
  432. case EDK3::T_FLOAT: {
  433. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RED, GL_FLOAT, data);
  434. break; }
  435. }
  436. break; }
  437. case F_RG: {
  438. switch (t) {
  439. case EDK3::T_UBYTE: {
  440. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_UNSIGNED_BYTE, data);
  441. break; }
  442. case EDK3::T_BYTE: {
  443. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_BYTE, data);
  444. break; }
  445. case EDK3::T_USHORT: {
  446. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_UNSIGNED_SHORT, data);
  447. break; }
  448. case EDK3::T_SHORT: {
  449. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_SHORT, data);
  450. break; }
  451. case EDK3::T_UINT: {
  452. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_UNSIGNED_INT, data);
  453. break; }
  454. case EDK3::T_INT: {
  455. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_INT, data);
  456. break; }
  457. case EDK3::T_FLOAT: {
  458. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RG, GL_FLOAT, data);
  459. break; }
  460. }
  461. break; }
  462. case F_RGB: {
  463. switch (t) {
  464. case EDK3::T_UBYTE: {
  465. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
  466. break; }
  467. case EDK3::T_BYTE: {
  468. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_BYTE, data);
  469. break; }
  470. case EDK3::T_USHORT: {
  471. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_UNSIGNED_SHORT, data);
  472. break; }
  473. case EDK3::T_SHORT: {
  474. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_SHORT, data);
  475. break; }
  476. case EDK3::T_UINT: {
  477. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_UNSIGNED_INT, data);
  478. break; }
  479. case EDK3::T_INT: {
  480. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_INT, data);
  481. break; }
  482. case EDK3::T_FLOAT: {
  483. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGB, GL_FLOAT, data);
  484. break; }
  485. }
  486. break; }
  487. case F_BGR: {
  488. switch (t) {
  489. case EDK3::T_UBYTE: {
  490. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_UNSIGNED_BYTE, data);
  491. break; }
  492. case EDK3::T_BYTE: {
  493. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_BYTE, data);
  494. break; }
  495. case EDK3::T_USHORT: {
  496. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_UNSIGNED_SHORT, data);
  497. break; }
  498. case EDK3::T_SHORT: {
  499. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_SHORT, data);
  500. break; }
  501. case EDK3::T_UINT: {
  502. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_UNSIGNED_INT, data);
  503. break; }
  504. case EDK3::T_INT: {
  505. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_INT, data);
  506. break; }
  507. case EDK3::T_FLOAT: {
  508. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGR, GL_FLOAT, data);
  509. break; }
  510. }
  511. break; }
  512. case F_BGRA: {
  513. switch (t) {
  514. case EDK3::T_UBYTE: {
  515. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_UNSIGNED_BYTE, data);
  516. break; }
  517. case EDK3::T_BYTE: {
  518. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_BYTE, data);
  519. break; }
  520. case EDK3::T_USHORT: {
  521. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_UNSIGNED_SHORT, data);
  522. break; }
  523. case EDK3::T_SHORT: {
  524. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_SHORT, data);
  525. break; }
  526. case EDK3::T_UINT: {
  527. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_UNSIGNED_INT, data);
  528. break; }
  529. case EDK3::T_INT: {
  530. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_INT, data);
  531. break; }
  532. case EDK3::T_FLOAT: {
  533. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_BGRA, GL_FLOAT, data);
  534. break; }
  535. }
  536. break; }
  537. case F_RGBA: {
  538. switch (t) {
  539. case EDK3::T_UBYTE: {
  540. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
  541. break; }
  542. case EDK3::T_BYTE: {
  543. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_BYTE, data);
  544. break; }
  545. case EDK3::T_USHORT: {
  546. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_UNSIGNED_SHORT, data);
  547. break; }
  548. case EDK3::T_SHORT: {
  549. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_SHORT, data);
  550. break; }
  551. case EDK3::T_UINT: {
  552. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_UNSIGNED_INT, data);
  553. break; }
  554. case EDK3::T_INT: {
  555. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_INT, data);
  556. break; }
  557. case EDK3::T_FLOAT: {
  558. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_RGBA, GL_FLOAT, data);
  559. break; }
  560. }
  561. break; }
  562. case F_DEPTH: {
  563. switch (t) {
  564. case EDK3::T_UBYTE: {
  565. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, data);
  566. break; }
  567. case EDK3::T_BYTE: {
  568. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_BYTE, data);
  569. break; }
  570. case EDK3::T_USHORT: {
  571. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, data);
  572. break; }
  573. case EDK3::T_SHORT: {
  574. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_SHORT, data);
  575. break; }
  576. case EDK3::T_UINT: {
  577. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, data);
  578. break; }
  579. case EDK3::T_INT: {
  580. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_INT, data);
  581. break; }
  582. case EDK3::T_FLOAT: {
  583. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_COMPONENT, GL_FLOAT, data);
  584. break; }
  585. }
  586. break; }
  587. case F_DEPTH32: {
  588. switch (t) {
  589. case EDK3::T_UBYTE: {
  590. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_BYTE, data);
  591. break; }
  592. case EDK3::T_BYTE: {
  593. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_BYTE, data);
  594. break; }
  595. case EDK3::T_USHORT: {
  596. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_SHORT, data);
  597. break; }
  598. case EDK3::T_SHORT: {
  599. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_SHORT, data);
  600. break; }
  601. case EDK3::T_UINT: {
  602. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT, data);
  603. break; }
  604. case EDK3::T_INT: {
  605. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_INT, data);
  606. break; }
  607. case EDK3::T_FLOAT: {
  608. glTexImage3D(GL_TEXTURE_3D, mipmap_LOD, format_, width_, height_, depth_, 0, GL_DEPTH_STENCIL, GL_FLOAT, data);
  609. break; }
  610. }
  611. break; }
  612. }
  613. break; }
  614. case T_CUBEMAP: {
  615. switch (f) {
  616. case F_R: {
  617. switch (t) {
  618. case EDK3::T_UBYTE: {
  619. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_UNSIGNED_BYTE, data);
  620. break; }
  621. case EDK3::T_BYTE: {
  622. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_BYTE, data);
  623. break; }
  624. case EDK3::T_USHORT: {
  625. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_UNSIGNED_SHORT, data);
  626. break; }
  627. case EDK3::T_SHORT: {
  628. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_SHORT, data);
  629. break; }
  630. case EDK3::T_UINT: {
  631. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_UNSIGNED_INT, data);
  632. break; }
  633. case EDK3::T_INT: {
  634. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_INT, data);
  635. break; }
  636. case EDK3::T_FLOAT: {
  637. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RED, GL_FLOAT, data);
  638. break; }
  639. }
  640. break; }
  641. case F_RG: {
  642. switch (t) {
  643. case EDK3::T_UBYTE: {
  644. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_UNSIGNED_BYTE, data);
  645. break; }
  646. case EDK3::T_BYTE: {
  647. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_BYTE, data);
  648. break; }
  649. case EDK3::T_USHORT: {
  650. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_UNSIGNED_SHORT, data);
  651. break; }
  652. case EDK3::T_SHORT: {
  653. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_SHORT, data);
  654. break; }
  655. case EDK3::T_UINT: {
  656. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_UNSIGNED_INT, data);
  657. break; }
  658. case EDK3::T_INT: {
  659. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_INT, data);
  660. break; }
  661. case EDK3::T_FLOAT: {
  662. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RG, GL_FLOAT, data);
  663. break; }
  664. }
  665. break; }
  666. case F_RGB: {
  667. switch (t) {
  668. case EDK3::T_UBYTE: {
  669. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_UNSIGNED_BYTE, data);
  670. break; }
  671. case EDK3::T_BYTE: {
  672. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_BYTE, data);
  673. break; }
  674. case EDK3::T_USHORT: {
  675. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_UNSIGNED_SHORT, data);
  676. break; }
  677. case EDK3::T_SHORT: {
  678. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_SHORT, data);
  679. break; }
  680. case EDK3::T_UINT: {
  681. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_UNSIGNED_INT, data);
  682. break; }
  683. case EDK3::T_INT: {
  684. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_INT, data);
  685. break; }
  686. case EDK3::T_FLOAT: {
  687. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGB, GL_FLOAT, data);
  688. break; }
  689. }
  690. break; }
  691. case F_BGR: {
  692. switch (t) {
  693. case EDK3::T_UBYTE: {
  694. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_UNSIGNED_BYTE, data);
  695. break; }
  696. case EDK3::T_BYTE: {
  697. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_BYTE, data);
  698. break; }
  699. case EDK3::T_USHORT: {
  700. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_UNSIGNED_SHORT, data);
  701. break; }
  702. case EDK3::T_SHORT: {
  703. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_SHORT, data);
  704. break; }
  705. case EDK3::T_UINT: {
  706. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_UNSIGNED_INT, data);
  707. break; }
  708. case EDK3::T_INT: {
  709. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_INT, data);
  710. break; }
  711. case EDK3::T_FLOAT: {
  712. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGR, GL_FLOAT, data);
  713. break; }
  714. }
  715. break; }
  716. case F_BGRA: {
  717. switch (t) {
  718. case EDK3::T_UBYTE: {
  719. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_UNSIGNED_BYTE, data);
  720. break; }
  721. case EDK3::T_BYTE: {
  722. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_BYTE, data);
  723. break; }
  724. case EDK3::T_USHORT: {
  725. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_UNSIGNED_SHORT, data);
  726. break; }
  727. case EDK3::T_SHORT: {
  728. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_SHORT, data);
  729. break; }
  730. case EDK3::T_UINT: {
  731. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_UNSIGNED_INT, data);
  732. break; }
  733. case EDK3::T_INT: {
  734. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_INT, data);
  735. break; }
  736. case EDK3::T_FLOAT: {
  737. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_BGRA, GL_FLOAT, data);
  738. break; }
  739. }
  740. break; }
  741. case F_RGBA: {
  742. switch (t) {
  743. case EDK3::T_UBYTE: {
  744. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
  745. break; }
  746. case EDK3::T_BYTE: {
  747. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_BYTE, data);
  748. break; }
  749. case EDK3::T_USHORT: {
  750. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_UNSIGNED_SHORT, data);
  751. break; }
  752. case EDK3::T_SHORT: {
  753. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_SHORT, data);
  754. break; }
  755. case EDK3::T_UINT: {
  756. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_UNSIGNED_INT, data);
  757. break; }
  758. case EDK3::T_INT: {
  759. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_INT, data);
  760. break; }
  761. case EDK3::T_FLOAT: {
  762. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_RGBA, GL_FLOAT, data);
  763. break; }
  764. }
  765. break; }
  766. case F_DEPTH: {
  767. switch (t) {
  768. case EDK3::T_UBYTE: {
  769. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, data);
  770. break; }
  771. case EDK3::T_BYTE: {
  772. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_BYTE, data);
  773. break; }
  774. case EDK3::T_USHORT: {
  775. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, data);
  776. break; }
  777. case EDK3::T_SHORT: {
  778. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_SHORT, data);
  779. break; }
  780. case EDK3::T_UINT: {
  781. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, data);
  782. break; }
  783. case EDK3::T_INT: {
  784. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_INT, data);
  785. break; }
  786. case EDK3::T_FLOAT: {
  787. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_COMPONENT, GL_FLOAT, data);
  788. break; }
  789. }
  790. break; }
  791. case F_DEPTH32: {
  792. switch (t) {
  793. case EDK3::T_UBYTE: {
  794. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_BYTE, data);
  795. break; }
  796. case EDK3::T_BYTE: {
  797. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_BYTE, data);
  798. break; }
  799. case EDK3::T_USHORT: {
  800. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_SHORT, data);
  801. break; }
  802. case EDK3::T_SHORT: {
  803. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_SHORT, data);
  804. break; }
  805. case EDK3::T_UINT: {
  806. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT, data);
  807. break; }
  808. case EDK3::T_INT: {
  809. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_INT, data);
  810. break; }
  811. case EDK3::T_FLOAT: {
  812. glTexImage2D(GL_TEXTURE_2D, mipmap_LOD, format_, width_, height_, 0, GL_DEPTH_STENCIL, GL_FLOAT, data);
  813. break; }
  814. }
  815. break; }
  816. }
  817. break; }
  818. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement