12345678910111213141516171819202122232425262728 |
- #include "rendering/FileTexture.h"
- #include "images/PNGReader.h"
- #include "utils/List.h"
- Error FileTexture::load(const char* path, int maxMipMaps) {
- PNGReader png;
- Error error = png.load(path);
- if(error.has()) {
- return error;
- }
- List<ColorChannel> buffer;
- buffer.resize(png.getBufferSize());
- error = png.readData(buffer.begin());
- if(error.has()) {
- return error;
- }
- texture.init(TextureFormat::color8(png.getChannels()), maxMipMaps);
- texture.setData(png.getWidth(), png.getHeight(), buffer.begin());
- return {};
- }
- void FileTexture::bindTo(int index) const {
- texture.bindTo(index);
- }
- void FileTexture::setLinearFilter() {
- texture.setLinearFilter();
- }
|