Reason: Frame has zoom property, but texture filtering is done automatically and is not configurable.
Solution: texture filtering as additional property for frame, configurable by user. Filter modes should be the OpenGL ones.
re-assign
API Change
add new file zoomFilter.h enum ZoomFilter { FILTER_NEAREST = GL_NEAREST FILTER_LINEAR = GL_LINEAR }
add zoomFilter definition in Frame add private Frame::_zoomFilter which set to FILTER_LINEAR by default add Frame::setZoomFilter( const ZoomFilter filter ) add ZoomFilter Frame::getZoomFilter( const ZoomFilter filter )
add Texture::applyZoomFilter( const ZoomFilter filter ) glTexParameteri( _target, GL_TEXTURE_MAG_FILTER, _zoomFilter ); glTexParameteri( _target, GL_TEXTURE_MIN_FILTER, _zoomFilter );
add Texture::applyWrap() //<! @internal glTexParameteri( _target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); glTexParameteri( _target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );
Log in to post a comment.
re-assign
API Change
add new file zoomFilter.h
enum ZoomFilter
{
FILTER_NEAREST = GL_NEAREST
FILTER_LINEAR = GL_LINEAR
}
add zoomFilter definition in Frame
add private Frame::_zoomFilter which set to FILTER_LINEAR by default
add Frame::setZoomFilter( const ZoomFilter filter )
add ZoomFilter Frame::getZoomFilter( const ZoomFilter filter )
add Texture::applyZoomFilter( const ZoomFilter filter )
glTexParameteri( _target, GL_TEXTURE_MAG_FILTER, _zoomFilter );
glTexParameteri( _target, GL_TEXTURE_MIN_FILTER, _zoomFilter );
add Texture::applyWrap() //<! @internal
glTexParameteri( _target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
glTexParameteri( _target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );