OWL
Loading...
Searching...
No Matches
owl
Texture.h
1
// ======================================================================== //
2
// Copyright 2019-2021 Ingo Wald //
3
// //
4
// Licensed under the Apache License, Version 2.0 (the "License"); //
5
// you may not use this file except in compliance with the License. //
6
// You may obtain a copy of the License at //
7
// //
8
// http://www.apache.org/licenses/LICENSE-2.0 //
9
// //
10
// Unless required by applicable law or agreed to in writing, software //
11
// distributed under the License is distributed on an "AS IS" BASIS, //
12
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
13
// See the License for the specific language governing permissions and //
14
// limitations under the License. //
15
// ======================================================================== //
16
17
#pragma once
18
19
#include "RegisteredObject.h"
20
21
namespace
owl {
22
23
struct
Texture
:
public
RegisteredObject
24
{
25
typedef
std::shared_ptr<Texture> SP;
26
27
Texture
(
Context
*
const
context,
28
vec2i size,
29
uint32_t linePitchInBytes,
30
OWLTexelFormat texelFormat,
31
OWLTextureFilterMode filterMode,
32
OWLTextureAddressMode addressMode,
33
OWLTextureColorSpace colorSpace,
34
const
void
*texels
35
);
36
38
virtual
~Texture
();
39
40
std::string
toString
()
const override
{
return
"Texture"
; }
41
42
/* return the cuda texture object corresponding to the specified
43
device ID*/
44
cudaTextureObject_t getObject(
int
deviceID);
45
46
50
void
destroy
();
51
53
std::vector<cudaTextureObject_t>
textureObjects
;
54
std::vector<cudaArray_t> textureArrays;
55
56
vec2i size;
57
uint32_t linePitchInBytes;
58
OWLTexelFormat texelFormat;
59
OWLTextureFilterMode filterMode;
60
};
61
62
}
// ::owl
owl::Context
Definition:
Context.h:32
owl::RegisteredObject
Definition:
RegisteredObject.h:30
owl::Texture
Definition:
Texture.h:24
owl::Texture::textureObjects
std::vector< cudaTextureObject_t > textureObjects
Definition:
Texture.h:53
owl::Texture::destroy
void destroy()
Definition:
Texture.cpp:160
owl::Texture::~Texture
virtual ~Texture()
Definition:
Texture.cpp:152
owl::Texture::toString
std::string toString() const override
Definition:
Texture.h:40
Generated by
1.9.5