title: GLSL Vector multiplication returns error? Model is not rendered
body: <p>I've been trying to study opengl for a fun side project and ran into some issue while learning.</p>
  
  <p>Below is a fragment shader:</p>
  
  <pre><code>#version 330 core
  in vec3 Normal;
  in vec3 Position;
  in vec2 TexCoords;
  out vec4 color;
  
  uniform vec3 cameraPos;
  uniform samplerCube skybox;
  
  struct Material{
      sampler2D diffuse0;
      sampler2D specular0;
      sampler2D emitter0;
      sampler2D reflection0;
      float shininess;
  };
  uniform Material material;
  
  
  void main(){
  
      vec3 I = normalize(Position - cameraPos);
      vec3 R = reflect(I, normalize(Normal));
  
      float intensity = 0;
      intensity += texture(material.reflection0, TexCoords).x;
  
      vec4 rfl = texture(skybox, R);
  
      //this line doesnt produce anything
      color = rfl * intensity;
  
  }
  </code></pre>
  
  <p>When i used the code above, my model is completely gone from view.</p>
  
  <p>But, if i debug it out separately such as changing the line</p>
  
  <pre><code>    color = rfl * intensity;
  </code></pre>
  
  <p>to </p>
  
  <pre><code>    color = rfl;
  </code></pre>
  
  <p>This actually renders and returns the following picture
  <img src="https://i.stack.imgur.com/WrfEo.png" alt="with colors"></p>
  
  <p>And changing that line to</p>
  
  <pre><code>   color = vec4(intensity);
  </code></pre>
  
  <p>It renders and returns the following picture
  <img src="https://i.stack.imgur.com/oTb7A.png" alt="with colors"></p>
  
  <p>I've tried changing </p>
  
  <pre><code>   color = rfl * some constant
     //or
     color = vec4(0.5) * intensity
  </code></pre>
  
  <p>And both rendered my model normally. I'm stumped as to why it doesnt render when i tried multiplying both rfl and intensity together. I think it might be because there are values that the multiplication to fail, but i have no idea what they might be.  </p>