Hi, unfortunately I’m not sure this is about glsl. I’m reading Opengl Programming Guide, Ninth Edition.
I’m in trouble with this:

```
#version 420 core
uniform mat4 model_matrix;
...
layout (location = 0) in vec4 position;
...
void main(void)
{
vec4 pos = (model_matrix * (position * vec4(1.0, 1.0, 1.0, 1.0)));
...
};
```

So, what’s the point in multiplying “position” times `vec4(1.0, 1.0, 1.0, 1.0)`

? The result will be “position” with or without `vec4(1.0, 1.0, 1.0, 1.0)`

.

Thank you.

danielmjc:

I’m reading Opengl Programming Guide, Ninth Edition.

```
vec4 pos = (model_matrix * (position * vec4(1.0, 1.0, 1.0, 1.0)));
```

So, what’s the point in multiplying “position” times `vec4(1.0, 1.0, 1.0, 1.0)`

?

Good point. That looks like some test code someone forgot to remove. Should be a no-op that a good compiler will just discard.

I was going to ask you where in the 9th edition you saw that, but I found it:

p. 248, Example 5.11: Vertex Shader Used in Geometry Pass of Particle System Simulator
1 Like

system
closed
October 19, 2021, 7:09pm
#3
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.