passthrough.vert 2.31 KB
Newer Older
1 2
// ================================================================================================
// 
schultezub's avatar
schultezub committed
3
// This file is part of the CAMPVis Software Framework.
4
// 
5
// If not explicitly stated otherwise: Copyright (C) 2012-2013, all rights reserved,
schultezub's avatar
schultezub committed
6
//      Christian Schulte zu Berge <christian.szb@in.tum.de>
7
//      Chair for Computer Aided Medical Procedures
8 9 10
//      Technische Universität München
//      Boltzmannstr. 3, 85748 Garching b. München, Germany
// 
schultezub's avatar
schultezub committed
11
// For a full list of authors and contributors, please refer to the file "AUTHORS.txt".
12
// 
13 14 15 16
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 
// except in compliance with the License. You may obtain a copy of the License at
// 
// http://www.apache.org/licenses/LICENSE-2.0
17
// 
18 19 20 21
// Unless required by applicable law or agreed to in writing, software distributed under the 
// License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
// either express or implied. See the License for the specific language governing permissions 
// and limitations under the License.
22 23 24
// 
// ================================================================================================

25 26 27 28 29 30
in vec3 in_Position;        ///< incoming vertex position
in vec3 in_TexCoord;        ///< incoming texture coordinate
in vec4 in_Color;           ///< incoming color

out vec3 ex_TexCoord;       ///< outgoing texture coordinate
out vec4 ex_Color;          ///< outgoing color
31
out vec4 ex_Position;       ///< outgoing world coordinates
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

/// Matrix defining model-to-world transformation
uniform mat4 _modelMatrix = mat4(
    1.0, 0.0, 0.0, 0.0,
    0.0, 1.0, 0.0, 0.0,
    0.0, 0.0, 1.0, 0.0,
    0.0, 0.0, 0.0, 1.0);

/// Matrix defining view transformation
uniform mat4 _viewMatrix = mat4(
    1.0, 0.0, 0.0, 0.0,
    0.0, 1.0, 0.0, 0.0,
    0.0, 0.0, 1.0, 0.0,
    0.0, 0.0, 0.0, 1.0);

/// Matrix defining projection transformation
uniform mat4 _projectionMatrix = mat4(
    1.0, 0.0, 0.0, 0.0,
    0.0, 1.0, 0.0, 0.0,
    0.0, 0.0, 1.0, 0.0,
    0.0, 0.0, 0.0, 1.0);
53 54


schultezub's avatar
schultezub committed
55
void main() {
56
    gl_Position = _projectionMatrix * (_viewMatrix * (_modelMatrix * vec4(in_Position, 1.0)));
57
    ex_Position = vec4(in_Position, 1.0);
58

59 60
    ex_TexCoord = in_TexCoord;
    ex_Color = in_Color;
schultezub's avatar
schultezub committed
61
}