linear interpolation on layers draw
This commit is contained in:
@@ -15,6 +15,7 @@ void NodeCanvas::init()
|
|||||||
m_canvas = std::make_unique<ui::Canvas>();
|
m_canvas = std::make_unique<ui::Canvas>();
|
||||||
m_canvas->create(RES, RES);
|
m_canvas->create(RES, RES);
|
||||||
m_sampler.create(GL_NEAREST);
|
m_sampler.create(GL_NEAREST);
|
||||||
|
m_sampler_linear.create(GL_LINEAR);
|
||||||
m_sampler_stencil.create(GL_LINEAR, GL_REPEAT);
|
m_sampler_stencil.create(GL_LINEAR, GL_REPEAT);
|
||||||
m_face_plane.create<1>(2, 2);
|
m_face_plane.create<1>(2, 2);
|
||||||
m_line.create();
|
m_line.create();
|
||||||
@@ -174,7 +175,7 @@ void NodeCanvas::draw()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_sampler_stencil.bind(0);
|
m_sampler_linear.bind(0);
|
||||||
ui::ShaderManager::use(kShader::TextureAlpha);
|
ui::ShaderManager::use(kShader::TextureAlpha);
|
||||||
ui::ShaderManager::u_int(kShaderUniform::Tex, 0);
|
ui::ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||||
ui::ShaderManager::u_float(kShaderUniform::Alpha, m_canvas->m_layers[layer_index].m_opacity);
|
ui::ShaderManager::u_float(kShaderUniform::Alpha, m_canvas->m_layers[layer_index].m_opacity);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ public:
|
|||||||
std::unique_ptr<ui::Canvas> m_canvas;
|
std::unique_ptr<ui::Canvas> m_canvas;
|
||||||
ui::Brush m_brush;
|
ui::Brush m_brush;
|
||||||
Sampler m_sampler;
|
Sampler m_sampler;
|
||||||
|
Sampler m_sampler_linear;
|
||||||
Sampler m_sampler_stencil;
|
Sampler m_sampler_stencil;
|
||||||
ui::Plane m_face_plane;
|
ui::Plane m_face_plane;
|
||||||
ui::LineSegment m_line;
|
ui::LineSegment m_line;
|
||||||
|
|||||||
Reference in New Issue
Block a user