| 10 | namespace ispc { |
| 11 | |
| 12 | void Texture2D::set(const rkcommon::math::vec2i &aSize, |
| 13 | void **aData, |
| 14 | int aMaxLevel, |
| 15 | OSPTextureFormat aFormat, |
| 16 | OSPTextureFilter aFilter, |
| 17 | const rkcommon::math::vec2ui &aWrapMode) |
| 18 | { |
| 19 | size = aSize; |
| 20 | maxLevel = aMaxLevel; |
| 21 | format = aFormat; |
| 22 | filter = aFilter; |
| 23 | wrapMode = aWrapMode; |
| 24 | |
| 25 | for (int l = 0; l <= aMaxLevel; l++) |
| 26 | data[l] = aData[l]; |
| 27 | |
| 28 | super.hasAlpha = aFormat == OSP_TEXTURE_RGBA8 || aFormat == OSP_TEXTURE_SRGBA |
| 29 | || aFormat == OSP_TEXTURE_RA8 || aFormat == OSP_TEXTURE_LA8 |
| 30 | || aFormat == OSP_TEXTURE_RGBA32F || aFormat == OSP_TEXTURE_RGBA16 |
| 31 | || aFormat == OSP_TEXTURE_RA16 || aFormat == OSP_TEXTURE_RA16F |
| 32 | || aFormat == OSP_TEXTURE_RA32F || aFormat == OSP_TEXTURE_RGBA16F; |
| 33 | #ifndef OSPRAY_TARGET_SYCL |
| 34 | super.get = |
| 35 | reinterpret_cast<ispc::Texture_get>(ispc::Texture2D_get_addr(aFormat)); |
| 36 | super.getNormal = |
| 37 | reinterpret_cast<ispc::Texture_getN>(ispc::Texture2D_getN_addr(aFormat)); |
| 38 | #endif |
| 39 | } |
| 40 | |
| 41 | } // namespace ispc |
| 42 | |