implement export cube faces
This commit is contained in:
16
src/rtt.cpp
16
src/rtt.cpp
@@ -274,7 +274,7 @@ void RTT::clear_mask(glm::bool4 mask, glm::vec4 color)
|
||||
glColorMask(old_mask[0], old_mask[1], old_mask[2], old_mask[3]);
|
||||
}
|
||||
|
||||
glm::ivec4 RTT::calc_bounds()
|
||||
glm::ivec4 RTT::calc_bounds() const noexcept
|
||||
{
|
||||
auto data = std::unique_ptr<glm::u8vec4[]>(reinterpret_cast<glm::u8vec4*>(readTextureData()));
|
||||
glm::ivec2 bbmin(w, h);
|
||||
@@ -293,7 +293,7 @@ glm::ivec4 RTT::calc_bounds()
|
||||
return { bbmin, bbmax };
|
||||
}
|
||||
|
||||
uint8_t* RTT::readTextureData(uint8_t* buffer)
|
||||
uint8_t* RTT::readTextureData(uint8_t* buffer) const noexcept
|
||||
{
|
||||
if (!buffer)
|
||||
buffer = createBuffer();
|
||||
@@ -308,7 +308,7 @@ uint8_t* RTT::readTextureData(uint8_t* buffer)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
float* RTT::readTextureDataFloat(float* buffer)
|
||||
float* RTT::readTextureDataFloat(float* buffer) const noexcept
|
||||
{
|
||||
if (!buffer)
|
||||
buffer = createBufferFloat();
|
||||
@@ -323,12 +323,12 @@ float* RTT::readTextureDataFloat(float* buffer)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
uint8_t* RTT::createBuffer()
|
||||
uint8_t* RTT::createBuffer() const noexcept
|
||||
{
|
||||
return new uint8_t[w * h * 4];
|
||||
}
|
||||
|
||||
float * RTT::createBufferFloat()
|
||||
float * RTT::createBufferFloat() const noexcept
|
||||
{
|
||||
return new float[w * h * 4];
|
||||
}
|
||||
@@ -345,4 +345,10 @@ void RTT::unbindTexture()
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
}
|
||||
|
||||
Image RTT::get_image() const noexcept
|
||||
{
|
||||
Image ret;
|
||||
ret.create(w, h, readTextureData());
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user