restore use fragcoord to fix import/transform
This commit is contained in:
@@ -27,7 +27,7 @@ uniform int blend_mode;
|
||||
uniform mediump vec2 resolution;
|
||||
uniform bool lock;
|
||||
uniform bool mask;
|
||||
uniform bool draw_on_screen;
|
||||
uniform bool use_fragcoord;
|
||||
|
||||
uniform bool use_dual;
|
||||
uniform sampler2D tex_dual;
|
||||
@@ -49,7 +49,8 @@ out mediump vec4 frag;
|
||||
|
||||
void main()
|
||||
{
|
||||
mediump vec4 base = texture(tex, uv);
|
||||
mediump vec2 uv_base = use_fragcoord ? gl_FragCoord.st / resolution : uv;
|
||||
mediump vec4 base = texture(tex, uv_base);
|
||||
mediump vec4 stroke = texture(tex_stroke, uv);
|
||||
|
||||
if (stroke.a == 0.0)
|
||||
@@ -60,7 +61,6 @@ void main()
|
||||
|
||||
if (use_pattern)
|
||||
{
|
||||
//mediump vec2 uv2 = draw_on_screen ? gl_FragCoord.st / resolution : uv;
|
||||
mediump vec2 rscale = resolution / vec2(512.0);
|
||||
mediump float patt = texture(tex_pattern, uv * (1.0 / pattern_scale) * rscale + pattern_offset).r;
|
||||
if (pattern_invert)
|
||||
|
||||
@@ -101,7 +101,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index]->m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, canvas->m_canvas->m_layers[layer_index]->m_alpha_locked);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, canvas->m_canvas->m_smask_active);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, true);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, false);
|
||||
ShaderManager::u_int(kShaderUniform::UsePattern, b->m_pattern_enabled && !b->m_pattern_eachsample);
|
||||
|
||||
@@ -251,7 +251,7 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz)
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, 1);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, false/*m_layers[layer_index]->m_alpha_locked*/);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, false/*m_smask_active*/);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, false);
|
||||
ShaderManager::u_int(kShaderUniform::UsePattern, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
@@ -803,7 +803,7 @@ void Canvas::stroke_commit()
|
||||
ShaderManager::u_vec2(kShaderUniform::Resolution, m_size);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, 1);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, m_smask_active);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f));
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, b->m_dual_enabled);
|
||||
@@ -1024,7 +1024,7 @@ void Canvas::layer_merge(int source_idx, int dest_idx) // m_layer index
|
||||
ShaderManager::u_float(kShaderUniform::PatternAlpha, 0);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, m_layers[source_idx]->m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, false);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, m_layers[source_idx]->m_blend_mode);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f));
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, false);
|
||||
|
||||
@@ -1156,11 +1156,11 @@ void CanvasModeTransform::leave()
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_int(kShaderUniform::TexStroke, 1);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, 1);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, true);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, false);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, false);
|
||||
ShaderManager::u_vec2(kShaderUniform::Resolution, Canvas::I->m_size);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, 0);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, false);
|
||||
ShaderManager::u_int(kShaderUniform::UsePattern, false);
|
||||
|
||||
|
||||
@@ -217,7 +217,7 @@ void NodeCanvas::draw()
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, m_canvas->m_layers[layer_index]->m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, m_canvas->m_layers[layer_index]->m_alpha_locked);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, m_canvas->m_smask_active);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, true);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp_z);
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, b->m_dual_enabled);
|
||||
|
||||
@@ -83,7 +83,7 @@ void NodeStrokePreview::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, 1);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, false);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, false);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f));
|
||||
ShaderManager::u_int(kShaderUniform::UseDual, b->m_dual_enabled);
|
||||
@@ -404,7 +404,7 @@ void NodeStrokePreview::draw_stroke()
|
||||
ShaderManager::u_int(kShaderUniform::TexPattern, 4);
|
||||
ShaderManager::u_vec2(kShaderUniform::Resolution, size);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, 1);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, false);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragcoord, false);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, false);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-.5f, .5f, -.5f, .5f, -1.f, 1.f));
|
||||
|
||||
@@ -439,7 +439,7 @@ bool check_uniform_uniqueness()
|
||||
const_hash("patt_blend_mode"),
|
||||
const_hash("colorize"),
|
||||
const_hash("dual_alpha"),
|
||||
const_hash("draw_on_screen"),
|
||||
const_hash("use_fragcoord"),
|
||||
};
|
||||
std::sort(v.begin(), v.end());
|
||||
int last = 0;
|
||||
|
||||
@@ -46,7 +46,7 @@ enum class kShaderUniform : uint16_t
|
||||
PatternBlendMode = const_hash("patt_blend_mode"),
|
||||
Colorize = const_hash("colorize"),
|
||||
DualAlpha = const_hash("dual_alpha"),
|
||||
DrawOnScreen = const_hash("draw_on_screen"),
|
||||
UseFragcoord = const_hash("use_fragcoord"),
|
||||
};
|
||||
|
||||
enum class kShader : uint16_t
|
||||
|
||||
Reference in New Issue
Block a user