[SFML 3.0.2] Shadery a pamięć
Ostatnio zmodyfikowano wczoraj o godz. 21:15
tBane Temat założony przez niniejszego użytkownika |
[SFML 3.0.2] Shadery a pamięć » 2025-11-05 21:00:25 Cześć. Mam takie pytanie. Czy jest sens trzymać shadery w pamięci, czy z każdą klatką generować je na nowo? sf::Sprite sprite(( _state == ButtonState::Idle ) ? * _texture->_texture : * _hoverTexture->_texture ); sprite.setPosition( sf::Vector2f( _rect.position ) ); sf::RenderStates rs; sf::Shader sh; sh.loadFromMemory( palette_shader_source, sf::Shader::Type::Fragment );
sh.setUniform( "iTime", float( currentTime.asSeconds() ) );
const sf::Texture & tex =( _state == ButtonState::Idle ) ? * _texture->_texture : * _hoverTexture->_texture; sf::IntRect r = sprite.getTextureRect(); sf::Vector2u ts = tex.getSize(); sf::Glsl::Vec4 texRectUV( float( r.position.x ) / ts.x, float( r.position.y ) / ts.y, float( r.position.x + r.size.x ) / ts.x, float( r.position.y + r.size.y ) / ts.y );
sh.setUniform( "texRectUV", texRectUV ); rs.shader = & sh; window->draw( sprite, rs );
|
|
skovv |
» 2025-11-05 21:15:44 Nie znam się na sfml, pisałem w nim lata temu - ale po co robić coś co klatkę skoro można zainicjować przy starcie i używać, myślę, że będzie to szybsze - nie przejmuj się pamięcią, przecież nowe komputery nie padną przez kilka kb/mb więcej |
|
| « 1 » |