Initial commit
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
build/
|
||||||
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 Cristian Gora
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
71
Makefile
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
CXX := clang++
|
||||||
|
CXXFLAGS := -Wall -Wextra -std=c++17
|
||||||
|
CC := clang
|
||||||
|
CFLAGS := -Wall -Wextra
|
||||||
|
|
||||||
|
INCLUDES := -I./src/ \
|
||||||
|
-I./thirdparty/glad/include/ \
|
||||||
|
-I./thirdparty/glm/ \
|
||||||
|
-I./thirdparty/imgui/ \
|
||||||
|
-I./thirdparty/imgui/backends/ \
|
||||||
|
-I./thirdparty/stb/ \
|
||||||
|
-I./thirdparty/tinyobjloader/ \
|
||||||
|
|
||||||
|
LDFLAGS := -lglfw -lGL -lm
|
||||||
|
|
||||||
|
TARGET := build/fan
|
||||||
|
|
||||||
|
OBJS := build/camera.o \
|
||||||
|
build/framebuffer.o \
|
||||||
|
build/loader.o \
|
||||||
|
build/main.o \
|
||||||
|
build/material.o \
|
||||||
|
build/mesh.o \
|
||||||
|
build/renderer.o \
|
||||||
|
build/scene.o \
|
||||||
|
build/shader.o \
|
||||||
|
build/texture.o \
|
||||||
|
build/transform.o \
|
||||||
|
build/utils.o \
|
||||||
|
build/window.o \
|
||||||
|
build/glad.o \
|
||||||
|
build/stb_image.o \
|
||||||
|
build/tiny_obj_loader.o \
|
||||||
|
|
||||||
|
IMGUI_OBJS := build/imgui.o build/imgui_demo.o build/imgui_draw.o build/imgui_tables.o build/imgui_widgets.o \
|
||||||
|
build/imgui_impl_glfw.o build/imgui_impl_opengl3.o
|
||||||
|
|
||||||
|
.PHONY: all clean
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
|
||||||
|
$(TARGET): $(OBJS) $(IMGUI_OBJS)
|
||||||
|
$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
|
||||||
|
|
||||||
|
build/%.o: src/%.cpp
|
||||||
|
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
|
||||||
|
|
||||||
|
build/glad.o: thirdparty/glad/src/gl.c
|
||||||
|
$(CC) $(CFLAGS) -I./thirdparty/glad/include/ -c $< -o $@
|
||||||
|
|
||||||
|
build/stb_image.o: thirdparty/stb/stb_image.h
|
||||||
|
$(CC) $(CFLAGS) -DSTB_IMAGE_IMPLEMENTATION -xc -c $< -o $@
|
||||||
|
|
||||||
|
build/tiny_obj_loader.o: thirdparty/tinyobjloader/tiny_obj_loader.h
|
||||||
|
$(CXX) $(CXXFLAGS) -DTINYOBJLOADER_IMPLEMENTATION -xc++ -c $< -o $@
|
||||||
|
|
||||||
|
define imgui_rule
|
||||||
|
build/$(1): thirdparty/imgui/$(2)
|
||||||
|
$(CXX) $(CXXFLAGS) -I./thirdparty/imgui/ -c $$< -o $$@
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call imgui_rule,imgui.o,imgui.cpp))
|
||||||
|
$(eval $(call imgui_rule,imgui_demo.o,imgui_demo.cpp))
|
||||||
|
$(eval $(call imgui_rule,imgui_draw.o,imgui_draw.cpp))
|
||||||
|
$(eval $(call imgui_rule,imgui_tables.o,imgui_tables.cpp))
|
||||||
|
$(eval $(call imgui_rule,imgui_widgets.o,imgui_widgets.cpp))
|
||||||
|
$(eval $(call imgui_rule,imgui_impl_glfw.o,backends/imgui_impl_glfw.cpp))
|
||||||
|
$(eval $(call imgui_rule,imgui_impl_opengl3.o,backends/imgui_impl_opengl3.cpp))
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f build/*.o $(TARGET)
|
||||||
107
README.md
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
# Fan Engine
|
||||||
|
|
||||||
|
<img src="./assets/logo/logo.png" width="64"/>
|
||||||
|
|
||||||
|
A minimal 3D renderer written in C++ and OpenGL 3.3 Core.
|
||||||
|
|
||||||
|
> **_NOTE_:** The engine is still in heavy development. Expect breaking changes.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
The only tested platform at the moment is **Linux** (x86-64).
|
||||||
|
|
||||||
|
To build the project **you'll need to have GLFW already installed
|
||||||
|
system-wide**, the rest of the dependencies are already included.
|
||||||
|
|
||||||
|
After that, building comes down to just running the included Makefile.
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ mkdir build
|
||||||
|
$ make # optionally pass -j$(nproc)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
This is the current state of the engine architecture:
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TB
|
||||||
|
subgraph Application
|
||||||
|
Renderer
|
||||||
|
Scene
|
||||||
|
Camera
|
||||||
|
Framebuffer
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph World
|
||||||
|
Entity
|
||||||
|
Transform
|
||||||
|
Mesh
|
||||||
|
Material
|
||||||
|
LightEnvironment
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph SceneData["Scene Data"]
|
||||||
|
Vertices
|
||||||
|
Indices
|
||||||
|
Shader
|
||||||
|
Texture
|
||||||
|
DirectionalLight
|
||||||
|
PointLight
|
||||||
|
SpotLight
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Loading
|
||||||
|
Loader
|
||||||
|
tinyobjloader
|
||||||
|
stb_image
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Platform
|
||||||
|
Window
|
||||||
|
GLFW
|
||||||
|
glad
|
||||||
|
ImGui["Dear ImGui"]
|
||||||
|
end
|
||||||
|
|
||||||
|
Renderer --> Scene
|
||||||
|
Renderer --> Camera
|
||||||
|
|
||||||
|
Scene --> Entity
|
||||||
|
Scene --> LightEnvironment
|
||||||
|
|
||||||
|
Entity --> Transform
|
||||||
|
Entity --> Mesh
|
||||||
|
Entity --> Material
|
||||||
|
|
||||||
|
Mesh --> Vertices
|
||||||
|
Mesh --> Indices
|
||||||
|
|
||||||
|
Material --> Shader
|
||||||
|
Material --> Texture
|
||||||
|
|
||||||
|
LightEnvironment --> DirectionalLight
|
||||||
|
LightEnvironment --> PointLight
|
||||||
|
LightEnvironment --> SpotLight
|
||||||
|
|
||||||
|
Loader --> tinyobjloader
|
||||||
|
tinyobjloader --> Entity
|
||||||
|
|
||||||
|
Texture --> stb_image
|
||||||
|
|
||||||
|
Window --> GLFW
|
||||||
|
Window --> glad
|
||||||
|
Window --> ImGui
|
||||||
|
|
||||||
|
classDef application fill:#7c3aed,stroke:#4c1d95,color:#fff
|
||||||
|
classDef world fill:#2563eb,stroke:#1e3a8a,color:#fff
|
||||||
|
classDef data fill:#0f766e,stroke:#134e4a,color:#fff
|
||||||
|
classDef loading fill:#d97706,stroke:#92400e,color:#fff
|
||||||
|
classDef platform fill:#64748b,stroke:#334155,color:#fff
|
||||||
|
|
||||||
|
class Renderer,Scene,Camera,Framebuffer application
|
||||||
|
class Entity,Transform,Mesh,Material,LightEnvironment world
|
||||||
|
class Vertices,Indices,Shader,Texture,DirectionalLight,PointLight,SpotLight data
|
||||||
|
class Loader,tinyobjloader,stb_image loading
|
||||||
|
class Window,GLFW,glad,ImGui platform
|
||||||
|
```
|
||||||
BIN
assets/awesomeface.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
assets/backpack/ao.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
16
assets/backpack/backpack.mtl
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Blender MTL File: 'None'
|
||||||
|
# Material Count: 1
|
||||||
|
|
||||||
|
newmtl Scene_-_Root
|
||||||
|
Ns 225.000000
|
||||||
|
Ka 1.000000 1.000000 1.000000
|
||||||
|
Kd 0.800000 0.800000 0.800000
|
||||||
|
Ks 0.500000 0.500000 0.500000
|
||||||
|
Ke 0.0 0.0 0.0
|
||||||
|
Ni 1.450000
|
||||||
|
d 1.000000
|
||||||
|
illum 2
|
||||||
|
map_Kd diffuse.jpg
|
||||||
|
map_Bump normal.png
|
||||||
|
map_Ks specular.jpg
|
||||||
|
|
||||||
199481
assets/backpack/backpack.obj
Normal file
BIN
assets/backpack/diffuse.jpg
Normal file
|
After Width: | Height: | Size: 5.8 MiB |
BIN
assets/backpack/normal.png
Normal file
|
After Width: | Height: | Size: 14 MiB |
BIN
assets/backpack/roughness.jpg
Normal file
|
After Width: | Height: | Size: 4.2 MiB |
3
assets/backpack/source_attribution.txt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Model by Berk Gedik, from: https://sketchfab.com/3d-models/survival-guitar-backpack-low-poly-799f8c4511f84fab8c3f12887f7e6b36
|
||||||
|
|
||||||
|
Modified material assignment (Joey de Vries) for easier load in OpenGL model loading chapter, and renamed albedo to diffuse and metallic to specular to match non-PBR lighting setup.
|
||||||
BIN
assets/backpack/specular.jpg
Normal file
|
After Width: | Height: | Size: 6.4 MiB |
BIN
assets/container.jpg
Normal file
|
After Width: | Height: | Size: 181 KiB |
BIN
assets/container2.png
Normal file
|
After Width: | Height: | Size: 457 KiB |
BIN
assets/container2_specular.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
assets/debugempty.png
Normal file
|
After Width: | Height: | Size: 231 B |
BIN
assets/logo/logo.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
43
assets/logo/logo.py
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
import math
|
||||||
|
|
||||||
|
cx, cy = 250, 250
|
||||||
|
R_in = 52
|
||||||
|
R_out = 188
|
||||||
|
|
||||||
|
A_left_in = -10
|
||||||
|
A_left_out = -16
|
||||||
|
A_right_in = 14
|
||||||
|
A_right_out = 34
|
||||||
|
|
||||||
|
color = "#ffffff"
|
||||||
|
|
||||||
|
|
||||||
|
def get_pt(r, angle_deg):
|
||||||
|
rad = math.radians(angle_deg)
|
||||||
|
return cx + r * math.sin(rad), cy - r * math.cos(rad)
|
||||||
|
|
||||||
|
|
||||||
|
il_x, il_y = get_pt(R_in, A_left_in)
|
||||||
|
ol_x, ol_y = get_pt(R_out, A_left_out)
|
||||||
|
or_x, or_y = get_pt(R_out, A_right_out)
|
||||||
|
ir_x, ir_y = get_pt(R_in, A_right_in)
|
||||||
|
|
||||||
|
cpl_x, cpl_y = get_pt(120, -50)
|
||||||
|
cpr_x, cpr_y = get_pt(120, -5)
|
||||||
|
|
||||||
|
|
||||||
|
svg = f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500" width="500" height="500">
|
||||||
|
<circle cx="250" cy="250" r="215" stroke="{color}" stroke-width="18" fill="none"/>
|
||||||
|
<circle cx="250" cy="250" r="40" fill="{color}"/>
|
||||||
|
<g fill="{color}">'''
|
||||||
|
|
||||||
|
for i in range(6):
|
||||||
|
svg += f'''
|
||||||
|
<path transform="rotate({i*60}, 250, 250)" d="M {il_x:.2f} {il_y:.2f} Q {cpl_x:.2f} {cpl_y:.2f} {ol_x:.2f} {ol_y:.2f} A {R_out} {R_out} 0 0 1 {or_x:.2f} {or_y:.2f} Q {cpr_x:.2f} {cpr_y:.2f} {ir_x:.2f} {ir_y:.2f} A {R_in} {R_in} 0 0 0 {il_x:.2f} {il_y:.2f} Z"/>'''
|
||||||
|
|
||||||
|
svg += '''
|
||||||
|
</g>
|
||||||
|
</svg>'''
|
||||||
|
|
||||||
|
with open("logo.svg", "w") as f:
|
||||||
|
f.write(svg)
|
||||||
12
assets/logo/logo.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500" width="500" height="500">
|
||||||
|
<circle cx="250" cy="250" r="215" stroke="#ffffff" stroke-width="18" fill="none"/>
|
||||||
|
<circle cx="250" cy="250" r="40" fill="#ffffff"/>
|
||||||
|
<g fill="#ffffff">
|
||||||
|
<path transform="rotate(0, 250, 250)" d="M 240.97 198.79 Q 158.07 172.87 198.18 69.28 A 188 188 0 0 1 355.13 94.14 Q 239.54 130.46 262.58 199.54 A 52 52 0 0 0 240.97 198.79 Z"/>
|
||||||
|
<path transform="rotate(60, 250, 250)" d="M 240.97 198.79 Q 158.07 172.87 198.18 69.28 A 188 188 0 0 1 355.13 94.14 Q 239.54 130.46 262.58 199.54 A 52 52 0 0 0 240.97 198.79 Z"/>
|
||||||
|
<path transform="rotate(120, 250, 250)" d="M 240.97 198.79 Q 158.07 172.87 198.18 69.28 A 188 188 0 0 1 355.13 94.14 Q 239.54 130.46 262.58 199.54 A 52 52 0 0 0 240.97 198.79 Z"/>
|
||||||
|
<path transform="rotate(180, 250, 250)" d="M 240.97 198.79 Q 158.07 172.87 198.18 69.28 A 188 188 0 0 1 355.13 94.14 Q 239.54 130.46 262.58 199.54 A 52 52 0 0 0 240.97 198.79 Z"/>
|
||||||
|
<path transform="rotate(240, 250, 250)" d="M 240.97 198.79 Q 158.07 172.87 198.18 69.28 A 188 188 0 0 1 355.13 94.14 Q 239.54 130.46 262.58 199.54 A 52 52 0 0 0 240.97 198.79 Z"/>
|
||||||
|
<path transform="rotate(300, 250, 250)" d="M 240.97 198.79 Q 158.07 172.87 198.18 69.28 A 188 188 0 0 1 355.13 94.14 Q 239.54 130.46 262.58 199.54 A 52 52 0 0 0 240.97 198.79 Z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/wall.jpg
Normal file
|
After Width: | Height: | Size: 251 KiB |
10
compile_flags.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
-Wall
|
||||||
|
-Wextra
|
||||||
|
-std=c++17
|
||||||
|
-I./src/
|
||||||
|
-I./thirdparty/glad/include/
|
||||||
|
-I./thirdparty/glm/
|
||||||
|
-I./thirdparty/imgui/
|
||||||
|
-I./thirdparty/imgui/backends/
|
||||||
|
-I./thirdparty/stb/
|
||||||
|
-I./thirdparty/tinyobjloader/
|
||||||
63
src/camera.cpp
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
#include <glm/gtc/matrix_transform.hpp>
|
||||||
|
|
||||||
|
#include "camera.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
glm::mat4 Camera::get_view_matrix() const
|
||||||
|
{
|
||||||
|
return glm::lookAt(position, position + get_front(), glm::vec3(0.0f, 1.0f, 0.0f));
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::mat4 Camera::get_projection_matrix(int width, int height) const
|
||||||
|
{
|
||||||
|
float aspect_ratio = (height > 0)
|
||||||
|
? static_cast<float>(width) / static_cast<float>(height)
|
||||||
|
: 1.0f;
|
||||||
|
return glm::perspective(glm::radians(fov), aspect_ratio, near_plane, far_plane);
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::mat4 Camera::get_view_projection_matrix(int width, int height) const
|
||||||
|
{
|
||||||
|
return get_projection_matrix(width, height) * get_view_matrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Camera::get_front() const
|
||||||
|
{
|
||||||
|
glm::vec3 front;
|
||||||
|
front.x = std::cos(glm::radians(yaw)) * std::cos(glm::radians(pitch));
|
||||||
|
front.y = std::sin(glm::radians(pitch));
|
||||||
|
front.z = std::sin(glm::radians(yaw)) * std::cos(glm::radians(pitch));
|
||||||
|
return glm::normalize(front);
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Camera::get_right() const
|
||||||
|
{
|
||||||
|
return glm::normalize(glm::cross(get_front(), glm::vec3(0.0f, 1.0f, 0.0f)));
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Camera::get_up() const
|
||||||
|
{
|
||||||
|
return glm::normalize(glm::cross(get_right(), get_front()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Camera::rotate(float delta_yaw, float delta_pitch)
|
||||||
|
{
|
||||||
|
yaw += delta_yaw;
|
||||||
|
pitch += delta_pitch;
|
||||||
|
pitch = std::clamp(pitch, -89.0f, 89.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Camera::look_at(const glm::vec3& target)
|
||||||
|
{
|
||||||
|
glm::vec3 direction = glm::normalize(target - position);
|
||||||
|
|
||||||
|
pitch = glm::degrees(std::asin(direction.y));
|
||||||
|
yaw = glm::degrees(std::atan2(direction.z, direction.x));
|
||||||
|
pitch = std::clamp(pitch, -89.0f, 89.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
44
src/camera.hpp
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#ifndef FAN_CAMERA_HPP_
|
||||||
|
#define FAN_CAMERA_HPP_
|
||||||
|
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
#include "config.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Camera
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
glm::vec3 position{0.0f, 0.0f, 0.0f};
|
||||||
|
|
||||||
|
// Euler angles
|
||||||
|
float yaw{-90.0f};
|
||||||
|
float pitch{0.0f};
|
||||||
|
|
||||||
|
// Projection settings
|
||||||
|
float fov{CAMERA_FOV};
|
||||||
|
float near_plane{CAMERA_NEAR};
|
||||||
|
float far_plane{CAMERA_FAR};
|
||||||
|
|
||||||
|
Camera() = default;
|
||||||
|
explicit Camera(glm::vec3 position) : position(position) {}
|
||||||
|
|
||||||
|
// Matrix generation
|
||||||
|
glm::mat4 get_view_matrix() const;
|
||||||
|
glm::mat4 get_projection_matrix(int width, int height) const;
|
||||||
|
glm::mat4 get_view_projection_matrix(int width, int height) const;
|
||||||
|
|
||||||
|
// Direction vectors
|
||||||
|
glm::vec3 get_front() const;
|
||||||
|
glm::vec3 get_right() const;
|
||||||
|
glm::vec3 get_up() const;
|
||||||
|
|
||||||
|
// Helper functions
|
||||||
|
void rotate(float delta_yaw, float delta_pitch);
|
||||||
|
void look_at(const glm::vec3& target);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_CAMERA_HPP_
|
||||||
21
src/config.hpp
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#ifndef FAN_CONFIG_HPP_
|
||||||
|
#define FAN_CONFIG_HPP_
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
inline constexpr const char* VERSION_STRING = "Fan Engine - indev - OpenGL 3.3";
|
||||||
|
|
||||||
|
inline constexpr int WINDOW_WIDTH = 1200;
|
||||||
|
inline constexpr int WINDOW_HEIGHT = 800;
|
||||||
|
|
||||||
|
inline constexpr float CAMERA_FOV = 45.0f;
|
||||||
|
|
||||||
|
inline constexpr float CAMERA_SPEED = 2.5f;
|
||||||
|
inline constexpr float CAMERA_SENSITIVITY = 0.1f;
|
||||||
|
inline constexpr float CAMERA_NEAR = 0.1f;
|
||||||
|
inline constexpr float CAMERA_FAR = 100.0f;
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_CONFIG_HPP_
|
||||||
26
src/entity.hpp
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#ifndef FAN_ENTITY_HPP_
|
||||||
|
#define FAN_ENTITY_HPP_
|
||||||
|
|
||||||
|
#include "transform.hpp"
|
||||||
|
#include "mesh.hpp"
|
||||||
|
#include "material.hpp"
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Entity
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Transform transform{};
|
||||||
|
Rc<Mesh> mesh;
|
||||||
|
Rc<Material> material;
|
||||||
|
|
||||||
|
Entity(Rc<Mesh> mesh, Rc<Material> material)
|
||||||
|
: mesh(mesh)
|
||||||
|
, material(material) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_ENTITY_HPP_
|
||||||
21
src/fan.hpp
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#ifndef FAN_HPP_
|
||||||
|
#define FAN_HPP_
|
||||||
|
|
||||||
|
#include <camera.hpp>
|
||||||
|
#include <config.hpp>
|
||||||
|
#include <entity.hpp>
|
||||||
|
#include <framebuffer.hpp>
|
||||||
|
#include <light.hpp>
|
||||||
|
#include <loader.hpp>
|
||||||
|
#include <material.hpp>
|
||||||
|
#include <mesh.hpp>
|
||||||
|
#include <renderer.hpp>
|
||||||
|
#include <scene.hpp>
|
||||||
|
#include <shader.hpp>
|
||||||
|
#include <texture.hpp>
|
||||||
|
#include <transform.hpp>
|
||||||
|
#include <utils.hpp>
|
||||||
|
#include <vertex.hpp>
|
||||||
|
#include <window.hpp>
|
||||||
|
|
||||||
|
#endif // FAN_HPP_
|
||||||
115
src/framebuffer.cpp
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
#include "framebuffer.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Rc<FrameBuffer> FrameBuffer::create(GLsizei width, GLsizei height)
|
||||||
|
{
|
||||||
|
GLuint id, texture, render_buffer;
|
||||||
|
|
||||||
|
glGenFramebuffers(1, &id);
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, id);
|
||||||
|
|
||||||
|
// Create the color texture attachment
|
||||||
|
glGenTextures(1, &texture);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture);
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB,
|
||||||
|
GL_UNSIGNED_BYTE, nullptr);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D,
|
||||||
|
texture, 0);
|
||||||
|
|
||||||
|
// Create a renderbuffer object for depth and stencil attachment
|
||||||
|
glGenRenderbuffers(1, &render_buffer);
|
||||||
|
glBindRenderbuffer(GL_RENDERBUFFER, render_buffer);
|
||||||
|
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, width, height);
|
||||||
|
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT,
|
||||||
|
GL_RENDERBUFFER, render_buffer);
|
||||||
|
|
||||||
|
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
|
||||||
|
if (status != GL_FRAMEBUFFER_COMPLETE) {
|
||||||
|
glDeleteRenderbuffers(1, &render_buffer);
|
||||||
|
glDeleteTextures(1, &texture);
|
||||||
|
glDeleteFramebuffers(1, &id);
|
||||||
|
std::cerr << "ERROR: FRAMEBUFFER: Could not create incomplete framebuffer" << std::endl;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return make_rc<FrameBuffer>(id, width, height, texture, render_buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
FrameBuffer::~FrameBuffer()
|
||||||
|
{
|
||||||
|
glDeleteRenderbuffers(1, &m_render_buffer);
|
||||||
|
glDeleteTextures(1, &m_texture);
|
||||||
|
glDeleteFramebuffers(1, &m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
FrameBuffer::FrameBuffer(FrameBuffer&& other) noexcept
|
||||||
|
: m_id(std::exchange(other.m_id, 0))
|
||||||
|
, m_width(std::exchange(other.m_width, 0))
|
||||||
|
, m_height(std::exchange(other.m_height, 0))
|
||||||
|
, m_texture(std::exchange(other.m_texture, 0))
|
||||||
|
, m_render_buffer(std::exchange(other.m_render_buffer, 0))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
FrameBuffer& FrameBuffer::operator=(FrameBuffer&& other) noexcept
|
||||||
|
{
|
||||||
|
if (this == &other) { return *this; }
|
||||||
|
|
||||||
|
std::swap(m_id, other.m_id);
|
||||||
|
std::swap(m_width, other.m_width);
|
||||||
|
std::swap(m_height, other.m_height);
|
||||||
|
std::swap(m_texture, other.m_texture);
|
||||||
|
std::swap(m_render_buffer, other.m_render_buffer);
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLuint FrameBuffer::get_texture_id() const
|
||||||
|
{
|
||||||
|
return m_texture;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLsizei FrameBuffer::get_width() const
|
||||||
|
{
|
||||||
|
return m_width;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLsizei FrameBuffer::get_height() const
|
||||||
|
{
|
||||||
|
return m_height;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FrameBuffer::bind() const
|
||||||
|
{
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FrameBuffer::unbind() const
|
||||||
|
{
|
||||||
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FrameBuffer::resize(GLsizei width, GLsizei height)
|
||||||
|
{
|
||||||
|
m_width = width;
|
||||||
|
m_height = height;
|
||||||
|
|
||||||
|
// Resize the color attachment
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_texture);
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_width, m_height, 0,
|
||||||
|
GL_RGB, GL_UNSIGNED_BYTE, nullptr);
|
||||||
|
|
||||||
|
// Resize the depth/stencil attachment
|
||||||
|
glBindRenderbuffer(GL_RENDERBUFFER, m_render_buffer);
|
||||||
|
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8,
|
||||||
|
m_width, m_height);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
48
src/framebuffer.hpp
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
#ifndef FRAMEBUFFER_HPP_
|
||||||
|
#define FRAMEBUFFER_HPP_
|
||||||
|
|
||||||
|
#include <glad/gl.h>
|
||||||
|
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class FrameBuffer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static Rc<FrameBuffer> create(GLsizei width, GLsizei height);
|
||||||
|
FrameBuffer(GLuint id, GLsizei width, GLsizei height,
|
||||||
|
GLuint texture, GLuint render_buffer)
|
||||||
|
: m_id{id}
|
||||||
|
, m_width{width}
|
||||||
|
, m_height{height}
|
||||||
|
, m_texture{texture}
|
||||||
|
, m_render_buffer{render_buffer} {}
|
||||||
|
|
||||||
|
~FrameBuffer();
|
||||||
|
FrameBuffer(const FrameBuffer&) = delete;
|
||||||
|
FrameBuffer& operator=(const FrameBuffer&) = delete;
|
||||||
|
FrameBuffer(FrameBuffer&& other) noexcept;
|
||||||
|
FrameBuffer& operator=(FrameBuffer&& other) noexcept;
|
||||||
|
|
||||||
|
GLuint get_texture_id() const;
|
||||||
|
GLsizei get_width() const;
|
||||||
|
GLsizei get_height() const;
|
||||||
|
|
||||||
|
void bind() const;
|
||||||
|
void unbind() const;
|
||||||
|
void resize(GLsizei width, GLsizei height);
|
||||||
|
|
||||||
|
private:
|
||||||
|
GLuint m_id{};
|
||||||
|
GLsizei m_width{};
|
||||||
|
GLsizei m_height{};
|
||||||
|
|
||||||
|
GLuint m_texture{};
|
||||||
|
GLuint m_render_buffer{};
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FRAMEBUFFER_HPP_
|
||||||
58
src/light.hpp
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#ifndef FAN_LIGHT_HPP_
|
||||||
|
#define FAN_LIGHT_HPP_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
struct DirectionalLight
|
||||||
|
{
|
||||||
|
glm::vec3 direction{-0.2f, -1.0f, -0.3f};
|
||||||
|
|
||||||
|
glm::vec3 ambient{0.05f, 0.05f, 0.05f};
|
||||||
|
glm::vec3 diffuse{0.4f, 0.4f, 0.4f};
|
||||||
|
glm::vec3 specular{0.5f, 0.5f, 0.5f};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PointLight
|
||||||
|
{
|
||||||
|
glm::vec3 position{0.0f, 0.0f, 0.0f};
|
||||||
|
|
||||||
|
float constant{1.0f};
|
||||||
|
float linear{0.09f};
|
||||||
|
float quadratic{0.032f};
|
||||||
|
|
||||||
|
glm::vec3 ambient{0.05f, 0.05f, 0.05f};
|
||||||
|
glm::vec3 diffuse{0.8f, 0.8f, 0.8f};
|
||||||
|
glm::vec3 specular{1.0f, 1.0f, 1.0f};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SpotLight
|
||||||
|
{
|
||||||
|
glm::vec3 position{0.0f, 0.0f, 0.0f};
|
||||||
|
glm::vec3 direction{0.0f, 0.0f, -1.0f};
|
||||||
|
|
||||||
|
float cut_off{glm::cos(glm::radians(12.5f))};
|
||||||
|
float outer_cut_off{glm::cos(glm::radians(15.0f))};
|
||||||
|
|
||||||
|
float constant{1.0f};
|
||||||
|
float linear{0.09f};
|
||||||
|
float quadratic{0.032f};
|
||||||
|
|
||||||
|
glm::vec3 ambient{0.0f, 0.0f, 0.0f};
|
||||||
|
glm::vec3 diffuse{1.0f, 1.0f, 1.0f};
|
||||||
|
glm::vec3 specular{1.0f, 1.0f, 1.0f};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct LightEnvironment
|
||||||
|
{
|
||||||
|
DirectionalLight directional_light;
|
||||||
|
std::vector<PointLight> point_lights;
|
||||||
|
std::vector<SpotLight> spot_lights;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_LIGHT_HPP_
|
||||||
120
src/loader.cpp
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
#include <filesystem>
|
||||||
|
#include <iostream>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <tiny_obj_loader.h>
|
||||||
|
|
||||||
|
#include "loader.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
struct VertexIndexHash {
|
||||||
|
size_t operator()(const tinyobj::index_t& index) const {
|
||||||
|
return ((std::hash<int>()(index.vertex_index) ^
|
||||||
|
(std::hash<int>()(index.normal_index) << 1)) >> 1) ^
|
||||||
|
(std::hash<int>()(index.texcoord_index) << 1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct VertexIndexEqual {
|
||||||
|
bool operator()(const tinyobj::index_t& a, const tinyobj::index_t& b) const {
|
||||||
|
return a.vertex_index == b.vertex_index &&
|
||||||
|
a.normal_index == b.normal_index &&
|
||||||
|
a.texcoord_index == b.texcoord_index;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Opt<Entity> load_obj(const std::string& file_path, Rc<Shader> shader)
|
||||||
|
{
|
||||||
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
|
tinyobj::attrib_t attrib;
|
||||||
|
std::vector<tinyobj::shape_t> shapes;
|
||||||
|
std::vector<tinyobj::material_t> materials;
|
||||||
|
std::string err;
|
||||||
|
|
||||||
|
fs::path parent_path = fs::path{file_path}.parent_path();
|
||||||
|
parent_path += fs::path::preferred_separator;
|
||||||
|
std::string base_dir = parent_path.string();
|
||||||
|
|
||||||
|
bool ok = tinyobj::LoadObj(&attrib, &shapes, &materials, &err,
|
||||||
|
file_path.c_str(), base_dir.c_str());
|
||||||
|
if (!ok || !err.empty()) {
|
||||||
|
std::cerr << "ERROR: LOAD_OBJ: Could not load " << file_path << std::endl << err;
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build the unified mesh
|
||||||
|
std::vector<Vertex> vertices;
|
||||||
|
std::vector<GLuint> indices;
|
||||||
|
std::unordered_map<tinyobj::index_t, GLuint,
|
||||||
|
VertexIndexHash, VertexIndexEqual> unique_vertices;
|
||||||
|
|
||||||
|
for (const auto& shape : shapes) {
|
||||||
|
for (const auto& index : shape.mesh.indices) {
|
||||||
|
if (unique_vertices.count(index) == 0) {
|
||||||
|
Vertex vertex{};
|
||||||
|
|
||||||
|
vertex.position = {
|
||||||
|
attrib.vertices[3 * index.vertex_index + 0],
|
||||||
|
attrib.vertices[3 * index.vertex_index + 1],
|
||||||
|
attrib.vertices[3 * index.vertex_index + 2]
|
||||||
|
};
|
||||||
|
|
||||||
|
if (index.normal_index >= 0) {
|
||||||
|
vertex.normal = {
|
||||||
|
attrib.normals[3 * index.normal_index + 0],
|
||||||
|
attrib.normals[3 * index.normal_index + 1],
|
||||||
|
attrib.normals[3 * index.normal_index + 2]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (index.texcoord_index >= 0) {
|
||||||
|
vertex.texture_coords = {
|
||||||
|
attrib.texcoords[2 * index.texcoord_index + 0],
|
||||||
|
1.0f - attrib.texcoords[2 * index.texcoord_index + 1]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
unique_vertices[index] = static_cast<GLuint>(vertices.size());
|
||||||
|
vertices.push_back(vertex);
|
||||||
|
}
|
||||||
|
|
||||||
|
indices.push_back(unique_vertices[index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
auto mesh = Mesh::create(vertices, indices);
|
||||||
|
if (!mesh) {
|
||||||
|
std::cerr << "ERROR: LOAD_OBJ: Could not create mesh" << std::endl;
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto material = make_rc<Material>();
|
||||||
|
material->shader = shader; // Assigned required shader
|
||||||
|
|
||||||
|
// If the .obj file had an .mtl file attached to it
|
||||||
|
if (!materials.empty()) {
|
||||||
|
// Take only the first material found
|
||||||
|
const tinyobj::material_t& mtl = materials[0];
|
||||||
|
|
||||||
|
if (!mtl.diffuse_texname.empty()) {
|
||||||
|
material->diffuse_map = Texture::create(base_dir + mtl.diffuse_texname);
|
||||||
|
if (!material->diffuse_map) {
|
||||||
|
std::cerr << "WARNING: LOAD_OBJ: Could not create diffuse texture" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!mtl.specular_texname.empty()) {
|
||||||
|
material->specular_map = Texture::create(base_dir + mtl.specular_texname);
|
||||||
|
if (!material->specular_map) {
|
||||||
|
std::cerr << "WARNING: LOAD_OBJ: Could not create specular texture" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
material->shininess = mtl.shininess;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Entity{mesh, material};
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
16
src/loader.hpp
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#ifndef FAN_LOADER_HPP_
|
||||||
|
#define FAN_LOADER_HPP_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "entity.hpp"
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Opt<Entity> load_obj(const std::string& file_path, Rc<Shader> shader);
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_LOADER_HPP_
|
||||||
364
src/main.cpp
Normal file
@@ -0,0 +1,364 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
#include <vector>
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
#include <glm/gtc/matrix_transform.hpp>
|
||||||
|
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||||
|
#include <imgui.h>
|
||||||
|
#include <imgui_internal.h>
|
||||||
|
|
||||||
|
#include <fan.hpp>
|
||||||
|
|
||||||
|
using namespace Fan;
|
||||||
|
|
||||||
|
struct UserData
|
||||||
|
{
|
||||||
|
Camera& camera;
|
||||||
|
float delta_time{};
|
||||||
|
bool mouse_grab{};
|
||||||
|
|
||||||
|
float speed{CAMERA_SPEED};
|
||||||
|
float sensitivity{CAMERA_SENSITIVITY};
|
||||||
|
float last_mouse_x{};
|
||||||
|
float last_mouse_y{};
|
||||||
|
bool first_mouse{true};
|
||||||
|
|
||||||
|
bool show_debug{};
|
||||||
|
|
||||||
|
std::vector<Rc<Scene>> scenes{};
|
||||||
|
size_t selected_scene_index{};
|
||||||
|
};
|
||||||
|
|
||||||
|
void process_input(Window& window, Camera& camera, UserData& user_data);
|
||||||
|
void mouse_callback(double pos_x, double pos_y, void* user_data);
|
||||||
|
void setup_dockspace();
|
||||||
|
void draw_panel_window(Camera& camera, UserData& user_data);
|
||||||
|
void draw_viewport_window(FrameBuffer& framebuffer, Window& window, UserData& user_data);
|
||||||
|
std::vector<Vertex> get_cube_vertices();
|
||||||
|
|
||||||
|
template <typename... Args>
|
||||||
|
void overlay_text(float offset_x, float offset_y, ImVec4 color, const char* format, Args... args)
|
||||||
|
{
|
||||||
|
char buffer[256];
|
||||||
|
std::snprintf(buffer, sizeof(buffer), format, args...);
|
||||||
|
|
||||||
|
ImVec2 pos = ImGui::GetWindowPos() + ImVec2{offset_x, offset_y};
|
||||||
|
ImDrawList* draw_list = ImGui::GetWindowDrawList();
|
||||||
|
ImVec2 text_size = ImGui::CalcTextSize(buffer);
|
||||||
|
|
||||||
|
draw_list->AddRectFilled(pos - ImVec2{4, 2}, pos + text_size + ImVec2{4, 2}, IM_COL32(0, 0, 0, 160));
|
||||||
|
draw_list->AddText(pos, ImGui::ColorConvertFloat4ToU32(color), buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
/******************** Initialization ********************/
|
||||||
|
|
||||||
|
auto window = Window::create(WINDOW_WIDTH, WINDOW_HEIGHT, VERSION_STRING);
|
||||||
|
if (!window) return EXIT_FAILURE;
|
||||||
|
window->set_vsync(true);
|
||||||
|
|
||||||
|
Renderer::init();
|
||||||
|
|
||||||
|
Camera camera{{5.0f, 5.0f, 5.0f}};
|
||||||
|
camera.look_at({0.0f, 0.0f, 0.0f});
|
||||||
|
|
||||||
|
UserData user_data{camera};
|
||||||
|
window->set_callback_user_data(&user_data);
|
||||||
|
window->set_mouse_callback(mouse_callback);
|
||||||
|
|
||||||
|
/******************** Resource loading ********************/
|
||||||
|
|
||||||
|
auto shader = Shader::create("./src/shaders/default.vert", "./src/shaders/default.frag");
|
||||||
|
auto debug_shader = Shader::create("./src/shaders/debug.vert", "./src/shaders/debug.frag");
|
||||||
|
|
||||||
|
auto backpack = load_obj("./assets/backpack/backpack.obj", shader);
|
||||||
|
|
||||||
|
auto cube_mesh = Mesh::create(get_cube_vertices());
|
||||||
|
auto cube_texture = Texture::create("./assets/container.jpg");
|
||||||
|
|
||||||
|
auto default_mesh = Mesh::create(get_cube_vertices());
|
||||||
|
auto default_texture = Texture::create("./assets/debugempty.png");
|
||||||
|
|
||||||
|
auto framebuffer = FrameBuffer::create(window->get_width(), window->get_height());
|
||||||
|
|
||||||
|
if (!shader || !debug_shader
|
||||||
|
|| !backpack
|
||||||
|
|| !cube_mesh || !cube_texture
|
||||||
|
|| !default_mesh || !default_texture
|
||||||
|
|| !framebuffer) {
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************** Scene construction ********************/
|
||||||
|
|
||||||
|
// Backpack scene
|
||||||
|
Rc<Scene> backpack_scene = make_rc<Scene>();
|
||||||
|
user_data.scenes.push_back(backpack_scene);
|
||||||
|
|
||||||
|
backpack_scene->add_entity(*backpack);
|
||||||
|
|
||||||
|
auto default_material = make_rc<Material>();
|
||||||
|
default_material->shader = shader;
|
||||||
|
default_material->diffuse_map = default_texture;
|
||||||
|
Entity floor{cube_mesh, default_material};
|
||||||
|
floor.transform.position = {0.0f, -3.0f, 0.0f};
|
||||||
|
floor.transform.scale = {20.0f, 1.0f, 20.0f};
|
||||||
|
backpack_scene->add_entity(floor);
|
||||||
|
|
||||||
|
PointLight light_white;
|
||||||
|
light_white.position = glm::vec3(0.0f, 3.0f, 3.0f);
|
||||||
|
light_white.diffuse = glm::vec3(2.0f, 2.0f, 2.0f); // Bright white
|
||||||
|
light_white.specular = glm::vec3(2.0f, 2.0f, 2.0f); // White highlights
|
||||||
|
|
||||||
|
backpack_scene->light_environment.point_lights.push_back(light_white);
|
||||||
|
|
||||||
|
// Cubes scene
|
||||||
|
Rc<Scene> cubes_scene = make_rc<Scene>();
|
||||||
|
user_data.scenes.push_back(cubes_scene);
|
||||||
|
|
||||||
|
auto cube_material = make_rc<Material>();
|
||||||
|
cube_material->shader = shader;
|
||||||
|
cube_material->diffuse_map = cube_texture;
|
||||||
|
|
||||||
|
std::vector<glm::vec3> positions{
|
||||||
|
{ 0.0f, 0.0f, 0.0f}, { 2.0f, 5.0f, -15.0f}, {-1.5f, -2.2f, -2.5f},
|
||||||
|
{-3.8f, -2.0f, -12.3f}, { 2.4f, -0.4f, -3.5f}, {-1.7f, 3.0f, -7.5f},
|
||||||
|
{ 1.3f, -2.0f, -2.5f}, { 1.5f, 2.0f, -2.5f}, { 1.5f, 0.2f, -1.5f},
|
||||||
|
{-1.3f, 1.0f, -1.5f}
|
||||||
|
};
|
||||||
|
|
||||||
|
for (size_t i = 0; i < positions.size(); ++i) {
|
||||||
|
Entity entity{cube_mesh, cube_material};
|
||||||
|
entity.transform.position = positions[i];
|
||||||
|
entity.transform.set_rotation(glm::radians(20.0f * i), {1.0f, 0.3f, 0.5f});
|
||||||
|
cubes_scene->add_entity(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
PointLight light_warm;
|
||||||
|
light_warm.position = glm::vec3(0.0f, 2.0f, 2.0f);
|
||||||
|
light_warm.diffuse = glm::vec3(1.0f, 0.6f, 0.2f); // Orange
|
||||||
|
light_warm.specular = glm::vec3(1.0f, 0.8f, 0.5f);
|
||||||
|
|
||||||
|
PointLight light_cool;
|
||||||
|
light_cool.position = glm::vec3(-3.0f, 1.0f, -5.0f);
|
||||||
|
light_cool.diffuse = glm::vec3(0.2f, 0.5f, 1.0f); // Blue
|
||||||
|
light_cool.specular = glm::vec3(0.5f, 0.7f, 1.0f);
|
||||||
|
|
||||||
|
cubes_scene->light_environment.point_lights.push_back(light_warm);
|
||||||
|
cubes_scene->light_environment.point_lights.push_back(light_cool);
|
||||||
|
|
||||||
|
/******************** Main loop ********************/
|
||||||
|
|
||||||
|
while (!window->should_close()) {
|
||||||
|
window->begin();
|
||||||
|
window->update();
|
||||||
|
|
||||||
|
user_data.delta_time = window->get_delta_time();
|
||||||
|
process_input(*window, camera, user_data);
|
||||||
|
|
||||||
|
Renderer::set_clear_color({0.0f, 0.0f, 0.0f, 1.0f});
|
||||||
|
Renderer::clear();
|
||||||
|
|
||||||
|
// UI Layer
|
||||||
|
setup_dockspace();
|
||||||
|
draw_panel_window(camera, user_data);
|
||||||
|
draw_viewport_window(*framebuffer, *window, user_data);
|
||||||
|
|
||||||
|
// Scene Rendering Layer
|
||||||
|
const Scene& scene = *user_data.scenes[user_data.selected_scene_index];
|
||||||
|
|
||||||
|
int width = framebuffer->get_width();
|
||||||
|
int height = framebuffer->get_height();
|
||||||
|
framebuffer->bind();
|
||||||
|
Renderer::set_viewport(0, 0, width, height);
|
||||||
|
Renderer::clear();
|
||||||
|
Renderer::draw_scene(scene, camera, width, height);
|
||||||
|
if (user_data.show_debug) {
|
||||||
|
Renderer::draw_debug_wireframes(scene, camera, width, height,
|
||||||
|
debug_shader, default_mesh);
|
||||||
|
}
|
||||||
|
framebuffer->unbind();
|
||||||
|
|
||||||
|
window->end();
|
||||||
|
}
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
void process_input(Window& window, Camera& camera, UserData& user_data)
|
||||||
|
{
|
||||||
|
if (window.is_key_pressed(GLFW_KEY_ESCAPE)) window.set_should_close(true);
|
||||||
|
|
||||||
|
static bool wireframe = false;
|
||||||
|
if (window.is_key_pressed(GLFW_KEY_H)) {
|
||||||
|
wireframe = !wireframe;
|
||||||
|
Renderer::set_wireframe(wireframe);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool fullscreen = false;
|
||||||
|
if (window.is_key_pressed(GLFW_KEY_F11)) {
|
||||||
|
fullscreen = !fullscreen;
|
||||||
|
window.set_fullscreen(fullscreen);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (window.is_key_pressed(GLFW_KEY_INSERT)) {
|
||||||
|
user_data.mouse_grab = !user_data.mouse_grab;
|
||||||
|
user_data.first_mouse = true;
|
||||||
|
window.set_mouse_grab(user_data.mouse_grab);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!user_data.mouse_grab) return;
|
||||||
|
|
||||||
|
float velocity = user_data.speed * user_data.delta_time * (window.is_key_down(GLFW_KEY_LEFT_SHIFT) ? 2.0f : 1.0f);
|
||||||
|
if (window.is_key_down(GLFW_KEY_W)) camera.position += camera.get_front() * velocity;
|
||||||
|
if (window.is_key_down(GLFW_KEY_S)) camera.position -= camera.get_front() * velocity;
|
||||||
|
if (window.is_key_down(GLFW_KEY_A)) camera.position -= camera.get_right() * velocity;
|
||||||
|
if (window.is_key_down(GLFW_KEY_D)) camera.position += camera.get_right() * velocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void mouse_callback(double pos_x, double pos_y, void* user_data)
|
||||||
|
{
|
||||||
|
auto* data = static_cast<UserData*>(user_data);
|
||||||
|
if (!data->mouse_grab) return;
|
||||||
|
|
||||||
|
if (data->first_mouse) {
|
||||||
|
data->last_mouse_x = pos_x;
|
||||||
|
data->last_mouse_y = pos_y;
|
||||||
|
data->first_mouse = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
float delta_x = (pos_x - data->last_mouse_x) * data->sensitivity;
|
||||||
|
float delta_y = (data->last_mouse_y - pos_y) * data->sensitivity;
|
||||||
|
|
||||||
|
data->last_mouse_x = pos_x;
|
||||||
|
data->last_mouse_y = pos_y;
|
||||||
|
data->camera.rotate(delta_x, delta_y);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup_dockspace()
|
||||||
|
{
|
||||||
|
ImGuiID dockspace_id = ImGui::GetID("Dockspace");
|
||||||
|
ImGuiViewport* viewport = ImGui::GetMainViewport();
|
||||||
|
|
||||||
|
static bool first_time = true;
|
||||||
|
if (first_time) {
|
||||||
|
first_time = false;
|
||||||
|
ImGui::DockBuilderRemoveNode(dockspace_id);
|
||||||
|
ImGui::DockBuilderAddNode(dockspace_id, ImGuiDockNodeFlags_DockSpace);
|
||||||
|
ImGui::DockBuilderSetNodeSize(dockspace_id, viewport->WorkSize);
|
||||||
|
|
||||||
|
ImGuiID main_id = dockspace_id;
|
||||||
|
ImGuiID panel_id = ImGui::DockBuilderSplitNode(main_id, ImGuiDir_Left, 0.25f, nullptr, &main_id);
|
||||||
|
|
||||||
|
ImGui::DockBuilderDockWindow("Panel", panel_id);
|
||||||
|
ImGui::DockBuilderDockWindow("Viewport", main_id);
|
||||||
|
ImGui::DockBuilderFinish(dockspace_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::DockSpaceOverViewport(dockspace_id, viewport, ImGuiDockNodeFlags_None);
|
||||||
|
}
|
||||||
|
|
||||||
|
void draw_panel_window(Camera& camera, UserData& user_data)
|
||||||
|
{
|
||||||
|
static auto logo = Texture::create("assets/logo/logo.png");
|
||||||
|
|
||||||
|
ImGui::Begin("Panel");
|
||||||
|
|
||||||
|
if (logo) ImGui::Image(logo->get_id(), {50.0f, 50.0f});
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + (50.0f - ImGui::GetTextLineHeight()) * 0.5f);
|
||||||
|
ImGui::Text("Fan Engine");
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
ImGui::Text("Press INSERT to toggle camera controls");
|
||||||
|
ImGui::SliderFloat("Camera X", &camera.position.x, -10.0f, 10.0f);
|
||||||
|
ImGui::SliderFloat("Camera Y", &camera.position.y, -10.0f, 10.0f);
|
||||||
|
ImGui::SliderFloat("Camera Z", &camera.position.z, -10.0f, 10.0f);
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
ImGui::Checkbox("Show Debug Wireframes", &user_data.show_debug);
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
|
ImGui::Text("Scene Selector");
|
||||||
|
for (size_t i = 0; i < user_data.scenes.size(); ++i) {
|
||||||
|
char label[64];
|
||||||
|
ImFormatString(label, IM_ARRAYSIZE(label), "Scene %zu", i);
|
||||||
|
if (ImGui::RadioButton(label, user_data.selected_scene_index == i)) {
|
||||||
|
user_data.selected_scene_index = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::End();
|
||||||
|
}
|
||||||
|
|
||||||
|
void draw_viewport_window(FrameBuffer& framebuffer, Window& window, UserData& user_data)
|
||||||
|
{
|
||||||
|
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2{0.0f, 0.0f});
|
||||||
|
ImGui::Begin("Viewport");
|
||||||
|
|
||||||
|
ImVec2 size = ImGui::GetContentRegionAvail();
|
||||||
|
if (size.x > 0 && size.y > 0) {
|
||||||
|
if (size.x != framebuffer.get_width() || size.y != framebuffer.get_height()) {
|
||||||
|
framebuffer.resize(size.x, size.y);
|
||||||
|
}
|
||||||
|
ImGui::Image(framebuffer.get_texture_id(), size, ImVec2{0.0f, 1.0f}, ImVec2{1.0f, 0.0f});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overlays
|
||||||
|
float fps = window.get_delta_time() > 0.0f ? 1.0f / window.get_delta_time() : 0.0f;
|
||||||
|
overlay_text(20.0f, 35.0f, {0.0f, 1.0f, 0.0f, 1.0f}, "%s", VERSION_STRING);
|
||||||
|
overlay_text(20.0f, 52.0f, {0.0f, 1.0f, 0.0f, 1.0f}, "FPS: %.1f", fps);
|
||||||
|
overlay_text(20.0f, 69.0f, {0.0f, 1.0f, 0.0f, 1.0f}, "Frame time: %.2f ms", window.get_delta_time());
|
||||||
|
if (user_data.mouse_grab) { overlay_text(20.0f, 86.0f, {0.0f, 1.0f, 0.0f, 1.0f}, "%s", "INPUT LOCKED"); }
|
||||||
|
|
||||||
|
ImGui::End();
|
||||||
|
ImGui::PopStyleVar();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<Vertex> get_cube_vertices()
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
// Back Face
|
||||||
|
{{ 0.5f, -0.5f, -0.5f}, { 0.0f, 0.0f, -1.0f}, { 0.0f, 0.0f}},
|
||||||
|
{{-0.5f, -0.5f, -0.5f}, { 0.0f, 0.0f, -1.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{-0.5f, 0.5f, -0.5f}, { 0.0f, 0.0f, -1.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{-0.5f, 0.5f, -0.5f}, { 0.0f, 0.0f, -1.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{ 0.5f, 0.5f, -0.5f}, { 0.0f, 0.0f, -1.0f}, { 0.0f, 1.0f}},
|
||||||
|
{{ 0.5f, -0.5f, -0.5f}, { 0.0f, 0.0f, -1.0f}, { 0.0f, 0.0f}},
|
||||||
|
// Front Face
|
||||||
|
{{-0.5f, -0.5f, 0.5f}, { 0.0f, 0.0f, 1.0f}, { 0.0f, 0.0f}},
|
||||||
|
{{ 0.5f, -0.5f, 0.5f}, { 0.0f, 0.0f, 1.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{ 0.5f, 0.5f, 0.5f}, { 0.0f, 0.0f, 1.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{ 0.5f, 0.5f, 0.5f}, { 0.0f, 0.0f, 1.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{-0.5f, 0.5f, 0.5f}, { 0.0f, 0.0f, 1.0f}, { 0.0f, 1.0f}},
|
||||||
|
{{-0.5f, -0.5f, 0.5f}, { 0.0f, 0.0f, 1.0f}, { 0.0f, 0.0f}},
|
||||||
|
// Left Face
|
||||||
|
{{-0.5f, -0.5f, -0.5f}, {-1.0f, 0.0f, 0.0f}, { 0.0f, 0.0f}},
|
||||||
|
{{-0.5f, -0.5f, 0.5f}, {-1.0f, 0.0f, 0.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{-0.5f, 0.5f, 0.5f}, {-1.0f, 0.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{-0.5f, 0.5f, 0.5f}, {-1.0f, 0.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{-0.5f, 0.5f, -0.5f}, {-1.0f, 0.0f, 0.0f}, { 0.0f, 1.0f}},
|
||||||
|
{{-0.5f, -0.5f, -0.5f}, {-1.0f, 0.0f, 0.0f}, { 0.0f, 0.0f}},
|
||||||
|
// Right Face
|
||||||
|
{{ 0.5f, -0.5f, 0.5f}, { 1.0f, 0.0f, 0.0f}, { 0.0f, 0.0f}},
|
||||||
|
{{ 0.5f, -0.5f, -0.5f}, { 1.0f, 0.0f, 0.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{ 0.5f, 0.5f, -0.5f}, { 1.0f, 0.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{ 0.5f, 0.5f, -0.5f}, { 1.0f, 0.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{ 0.5f, 0.5f, 0.5f}, { 1.0f, 0.0f, 0.0f}, { 0.0f, 1.0f}},
|
||||||
|
{{ 0.5f, -0.5f, 0.5f}, { 1.0f, 0.0f, 0.0f}, { 0.0f, 0.0f}},
|
||||||
|
// Bottom Face
|
||||||
|
{{-0.5f, -0.5f, -0.5f}, { 0.0f, -1.0f, 0.0f}, { 0.0f, 1.0f}},
|
||||||
|
{{ 0.5f, -0.5f, -0.5f}, { 0.0f, -1.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{ 0.5f, -0.5f, 0.5f}, { 0.0f, -1.0f, 0.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{ 0.5f, -0.5f, 0.5f}, { 0.0f, -1.0f, 0.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{-0.5f, -0.5f, 0.5f}, { 0.0f, -1.0f, 0.0f}, { 0.0f, 0.0f}},
|
||||||
|
{{-0.5f, -0.5f, -0.5f}, { 0.0f, -1.0f, 0.0f}, { 0.0f, 1.0f}},
|
||||||
|
// Top Face
|
||||||
|
{{-0.5f, 0.5f, 0.5f}, { 0.0f, 1.0f, 0.0f}, { 0.0f, 0.0f}},
|
||||||
|
{{ 0.5f, 0.5f, 0.5f}, { 0.0f, 1.0f, 0.0f}, { 1.0f, 0.0f}},
|
||||||
|
{{ 0.5f, 0.5f, -0.5f}, { 0.0f, 1.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{ 0.5f, 0.5f, -0.5f}, { 0.0f, 1.0f, 0.0f}, { 1.0f, 1.0f}},
|
||||||
|
{{-0.5f, 0.5f, -0.5f}, { 0.0f, 1.0f, 0.0f}, { 0.0f, 1.0f}},
|
||||||
|
{{-0.5f, 0.5f, 0.5f}, { 0.0f, 1.0f, 0.0f}, { 0.0f, 0.0f}}
|
||||||
|
};
|
||||||
|
}
|
||||||
30
src/material.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#include "material.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
void Material::bind() const
|
||||||
|
{
|
||||||
|
shader->use();
|
||||||
|
|
||||||
|
// Diffuse (slot 0)
|
||||||
|
if (diffuse_map) {
|
||||||
|
diffuse_map->bind(0);
|
||||||
|
} else {
|
||||||
|
Texture::unbind(0);
|
||||||
|
}
|
||||||
|
shader->set_int("u_material.diffuse", 0);
|
||||||
|
|
||||||
|
// Specular (slot 1)
|
||||||
|
if (specular_map) {
|
||||||
|
specular_map->bind(1);
|
||||||
|
} else {
|
||||||
|
Texture::unbind(1);
|
||||||
|
}
|
||||||
|
shader->set_int("u_material.specular", 1);
|
||||||
|
|
||||||
|
// Shininess
|
||||||
|
shader->set_float("u_material.shininess", shininess);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
22
src/material.hpp
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#ifndef FAN_MATERIAL_HPP_
|
||||||
|
#define FAN_MATERIAL_HPP_
|
||||||
|
|
||||||
|
#include "shader.hpp"
|
||||||
|
#include "texture.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
struct Material
|
||||||
|
{
|
||||||
|
Rc<Shader> shader;
|
||||||
|
Rc<Texture> diffuse_map;
|
||||||
|
Rc<Texture> specular_map;
|
||||||
|
float shininess{32.0f};
|
||||||
|
|
||||||
|
void bind() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_MATERIAL_HPP_
|
||||||
86
src/mesh.cpp
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
#include <cstddef>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
#include "mesh.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Rc<Mesh> Mesh::create(const std::vector<Vertex>& vertices,
|
||||||
|
const std::vector<GLuint>& indices/* = {}*/)
|
||||||
|
{
|
||||||
|
GLuint VBO{}, VAO{}, EBO{};
|
||||||
|
bool has_indices = !indices.empty();
|
||||||
|
|
||||||
|
glGenBuffers(1, &VBO);
|
||||||
|
glGenVertexArrays(1, &VAO);
|
||||||
|
glBindVertexArray(VAO);
|
||||||
|
|
||||||
|
// Upload vertex data
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, VBO);
|
||||||
|
glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(vertices[0]),
|
||||||
|
&vertices[0], GL_STATIC_DRAW);
|
||||||
|
|
||||||
|
// Upload index data
|
||||||
|
if (has_indices) {
|
||||||
|
glGenBuffers(1, &EBO);
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO);
|
||||||
|
glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(indices[0]),
|
||||||
|
&indices[0], GL_STATIC_DRAW);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Define vertex data layout
|
||||||
|
GLsizei stride = sizeof(Vertex);
|
||||||
|
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, stride, (void*)offsetof(Vertex, position));
|
||||||
|
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, stride, (void*)offsetof(Vertex, normal));
|
||||||
|
glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, stride, (void*)offsetof(Vertex, texture_coords));
|
||||||
|
glEnableVertexAttribArray(0);
|
||||||
|
glEnableVertexAttribArray(1);
|
||||||
|
glEnableVertexAttribArray(2);
|
||||||
|
|
||||||
|
return make_rc<Mesh>(vertices, indices, has_indices, VBO, VAO, EBO);
|
||||||
|
}
|
||||||
|
|
||||||
|
Mesh::~Mesh()
|
||||||
|
{
|
||||||
|
glDeleteBuffers(1, &m_EBO);
|
||||||
|
glDeleteBuffers(1, &m_VBO);
|
||||||
|
glDeleteVertexArrays(1, &m_VAO);
|
||||||
|
}
|
||||||
|
|
||||||
|
Mesh::Mesh(Mesh&& other) noexcept
|
||||||
|
: m_vertices(std::move(other.m_vertices))
|
||||||
|
, m_indices(std::move(other.m_indices))
|
||||||
|
, m_has_indices(std::exchange(other.m_has_indices, false))
|
||||||
|
, m_VBO(std::exchange(other.m_VBO, 0))
|
||||||
|
, m_VAO(std::exchange(other.m_VAO, 0))
|
||||||
|
, m_EBO(std::exchange(other.m_EBO, 0))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Mesh& Mesh::operator=(Mesh&& other) noexcept
|
||||||
|
{
|
||||||
|
if (this == &other) { return *this; }
|
||||||
|
|
||||||
|
std::swap(m_vertices, other.m_vertices);
|
||||||
|
std::swap(m_indices, other.m_indices);
|
||||||
|
std::swap(m_has_indices, other.m_has_indices);
|
||||||
|
std::swap(m_VBO, other.m_VBO);
|
||||||
|
std::swap(m_VAO, other.m_VAO);
|
||||||
|
std::swap(m_EBO, other.m_EBO);
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Mesh::draw() const
|
||||||
|
{
|
||||||
|
glBindVertexArray(m_VAO);
|
||||||
|
|
||||||
|
if (m_has_indices) {
|
||||||
|
glDrawElements(GL_TRIANGLES, m_indices.size(), GL_UNSIGNED_INT, 0);
|
||||||
|
} else {
|
||||||
|
glDrawArrays(GL_TRIANGLES, 0, m_vertices.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
49
src/mesh.hpp
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#ifndef FAN_MESH_HPP_
|
||||||
|
#define FAN_MESH_HPP_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <glad/gl.h>
|
||||||
|
|
||||||
|
#include "vertex.hpp"
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Mesh
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static Rc<Mesh> create(const std::vector<Vertex>& vertices,
|
||||||
|
const std::vector<GLuint>& indices = {});
|
||||||
|
Mesh(const std::vector<Vertex>& vertices,
|
||||||
|
const std::vector<GLuint>& indices,
|
||||||
|
bool has_indices,
|
||||||
|
GLuint VBO, GLuint VAO, GLuint EBO)
|
||||||
|
: m_vertices(vertices)
|
||||||
|
, m_indices(indices)
|
||||||
|
, m_has_indices(has_indices)
|
||||||
|
, m_VBO(VBO)
|
||||||
|
, m_VAO(VAO)
|
||||||
|
, m_EBO(EBO) {}
|
||||||
|
|
||||||
|
~Mesh();
|
||||||
|
Mesh(const Mesh&) = delete;
|
||||||
|
Mesh& operator=(const Mesh&) = delete;
|
||||||
|
Mesh(Mesh&& other) noexcept;
|
||||||
|
Mesh& operator=(Mesh&& other) noexcept;
|
||||||
|
|
||||||
|
void draw() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::vector<Vertex> m_vertices{};
|
||||||
|
std::vector<GLuint> m_indices{};
|
||||||
|
bool m_has_indices{};
|
||||||
|
|
||||||
|
GLuint m_VBO{};
|
||||||
|
GLuint m_VAO{};
|
||||||
|
GLuint m_EBO{};
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_MESH_HPP_
|
||||||
166
src/renderer.cpp
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <string>
|
||||||
|
#include <glad/gl.h>
|
||||||
|
|
||||||
|
#include "renderer.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
void Renderer::init()
|
||||||
|
{
|
||||||
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
|
glCullFace(GL_BACK);
|
||||||
|
glFrontFace(GL_CCW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::set_viewport(int x, int y, int width, int height)
|
||||||
|
{
|
||||||
|
glViewport(x, y, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::set_clear_color(const glm::vec4& color)
|
||||||
|
{
|
||||||
|
glClearColor(color.r, color.g, color.b, color.a);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::set_wireframe(bool enabled)
|
||||||
|
{
|
||||||
|
glPolygonMode(GL_FRONT_AND_BACK, enabled ? GL_LINE : GL_FILL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::clear()
|
||||||
|
{
|
||||||
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::draw_scene(const Scene& scene, const Camera& camera,
|
||||||
|
int screen_width, int screen_height)
|
||||||
|
{
|
||||||
|
glm::mat4 view_projection = camera.get_view_projection_matrix(screen_width, screen_height);
|
||||||
|
GLuint last_shader_id = 0;
|
||||||
|
|
||||||
|
// TODO: Order entities by material to minimize uniform uploads
|
||||||
|
for (const Entity& entity : scene.get_entities()) {
|
||||||
|
if (!entity.mesh || !entity.material || !entity.material->shader) { continue; }
|
||||||
|
|
||||||
|
Rc<Shader> shader = entity.material->shader;
|
||||||
|
GLuint current_shader_id = shader->get_id();
|
||||||
|
|
||||||
|
// Only upload scene uniforms if the shader changed
|
||||||
|
if (current_shader_id != last_shader_id) {
|
||||||
|
shader->use();
|
||||||
|
|
||||||
|
// Upload camera uniforms
|
||||||
|
shader->set_mat4("u_view_projection", view_projection);
|
||||||
|
shader->set_vec3("u_view_pos", camera.position);
|
||||||
|
|
||||||
|
// Upload lighting uniforms
|
||||||
|
const LightEnvironment& env = scene.light_environment;
|
||||||
|
|
||||||
|
shader->set_vec3("u_directional_light.direction", env.directional_light.direction);
|
||||||
|
shader->set_vec3("u_directional_light.ambient", env.directional_light.ambient);
|
||||||
|
shader->set_vec3("u_directional_light.diffuse", env.directional_light.diffuse);
|
||||||
|
shader->set_vec3("u_directional_light.specular", env.directional_light.specular);
|
||||||
|
|
||||||
|
// Note: current limit is set to MAX_POINT_LIGHT_COUNT (8)
|
||||||
|
// TODO: Define this limits in a common header file
|
||||||
|
int point_count = std::min(static_cast<int>(env.point_lights.size()), 8);
|
||||||
|
shader->set_int("u_point_light_count", point_count);
|
||||||
|
for (int i = 0; i < point_count; ++i) {
|
||||||
|
std::string prefix = "u_point_lights[" + std::to_string(i) + "].";
|
||||||
|
shader->set_vec3(prefix + "position", env.point_lights[i].position);
|
||||||
|
|
||||||
|
shader->set_float(prefix + "constant", env.point_lights[i].constant);
|
||||||
|
shader->set_float(prefix + "linear", env.point_lights[i].linear);
|
||||||
|
shader->set_float(prefix + "quadratic", env.point_lights[i].quadratic);
|
||||||
|
|
||||||
|
shader->set_vec3(prefix + "ambient", env.point_lights[i].ambient);
|
||||||
|
shader->set_vec3(prefix + "diffuse", env.point_lights[i].diffuse);
|
||||||
|
shader->set_vec3(prefix + "specular", env.point_lights[i].specular);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Note: current limit is set to MAX_SPOT_LIGHT_COUNT (8)
|
||||||
|
// TODO: Define this limits in a common header file
|
||||||
|
int spot_count = std::min(static_cast<int>(env.spot_lights.size()), 8);
|
||||||
|
shader->set_int("u_spot_light_count", spot_count);
|
||||||
|
for (int i = 0; i < spot_count; ++i) {
|
||||||
|
std::string prefix = "u_spot_lights[" + std::to_string(i) + "].";
|
||||||
|
shader->set_vec3(prefix + "position", env.spot_lights[i].position);
|
||||||
|
shader->set_vec3(prefix + "direction", env.spot_lights[i].direction);
|
||||||
|
|
||||||
|
shader->set_float(prefix + "cut_off", env.spot_lights[i].cut_off);
|
||||||
|
shader->set_float(prefix + "outer_cut_off", env.spot_lights[i].outer_cut_off);
|
||||||
|
|
||||||
|
shader->set_float(prefix + "constant", env.spot_lights[i].constant);
|
||||||
|
shader->set_float(prefix + "linear", env.spot_lights[i].linear);
|
||||||
|
shader->set_float(prefix + "quadratic", env.spot_lights[i].quadratic);
|
||||||
|
|
||||||
|
shader->set_vec3(prefix + "ambient", env.spot_lights[i].ambient);
|
||||||
|
shader->set_vec3(prefix + "diffuse", env.spot_lights[i].diffuse);
|
||||||
|
shader->set_vec3(prefix + "specular", env.spot_lights[i].specular);
|
||||||
|
}
|
||||||
|
|
||||||
|
last_shader_id = current_shader_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bind the specific textures and the shininess float
|
||||||
|
entity.material->bind();
|
||||||
|
|
||||||
|
// Upload the model matrix to transform the specific object
|
||||||
|
shader->set_mat4("u_model", entity.transform.get_model_matrix());
|
||||||
|
|
||||||
|
// Dispatch the draw call
|
||||||
|
entity.mesh->draw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Renderer::draw_debug_wireframes(const Scene& scene, const Camera& camera,
|
||||||
|
int screen_width, int screen_height,
|
||||||
|
const Rc<Shader>& debug_shader,
|
||||||
|
const Rc<Mesh>& default_mesh)
|
||||||
|
{
|
||||||
|
debug_shader->use();
|
||||||
|
debug_shader->set_mat4("u_view_projection", camera.get_view_projection_matrix(screen_width, screen_height));
|
||||||
|
|
||||||
|
// Force wireframe mode and disable depth testing so we can see through objects
|
||||||
|
set_wireframe(true);
|
||||||
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
|
// Draw all standard entities (green)
|
||||||
|
debug_shader->set_vec3("u_color", glm::vec3(0.0f, 0.7f, 0.0f));
|
||||||
|
for (const Entity& entity : scene.get_entities()) {
|
||||||
|
// If an entity has no mesh, use the default debug mesh
|
||||||
|
auto mesh = entity.mesh ? entity.mesh : default_mesh;
|
||||||
|
|
||||||
|
debug_shader->set_mat4("u_model", entity.transform.get_model_matrix());
|
||||||
|
mesh->draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw point lights (yellow)
|
||||||
|
debug_shader->set_vec3("u_color", glm::vec3(0.7f, 0.7f, 0.0f));
|
||||||
|
for (const PointLight& light : scene.light_environment.point_lights) {
|
||||||
|
glm::mat4 model = glm::translate(glm::mat4(1.0f), light.position);
|
||||||
|
model = glm::scale(model, glm::vec3(0.2f));
|
||||||
|
|
||||||
|
debug_shader->set_mat4("u_model", model);
|
||||||
|
default_mesh->draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw spot lights (cyan)
|
||||||
|
debug_shader->set_vec3("u_color", glm::vec3(0.0f, 0.7f, 0.7f));
|
||||||
|
for (const SpotLight& light : scene.light_environment.spot_lights) {
|
||||||
|
glm::mat4 model = glm::translate(glm::mat4(1.0f), light.position);
|
||||||
|
model = glm::scale(model, glm::vec3(0.2f));
|
||||||
|
|
||||||
|
debug_shader->set_mat4("u_model", model);
|
||||||
|
default_mesh->draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restore state
|
||||||
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
set_wireframe(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
30
src/renderer.hpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#ifndef FAN_RENDERER_HPP_
|
||||||
|
#define FAN_RENDERER_HPP_
|
||||||
|
|
||||||
|
#include "scene.hpp"
|
||||||
|
#include "camera.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Renderer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void init();
|
||||||
|
|
||||||
|
static void set_viewport(int x, int y, int width, int height);
|
||||||
|
static void set_clear_color(const glm::vec4& color);
|
||||||
|
static void set_wireframe(bool enabled);
|
||||||
|
|
||||||
|
static void clear();
|
||||||
|
static void draw_scene(const Scene& scene, const Camera& camera,
|
||||||
|
int screen_width, int screen_height);
|
||||||
|
static void draw_debug_wireframes(const Scene& scene, const Camera& camera,
|
||||||
|
int screen_width, int screen_height,
|
||||||
|
const Rc<Shader>& debug_shader,
|
||||||
|
const Rc<Mesh>& default_mesh);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_RENDERER_HPP_
|
||||||
16
src/scene.cpp
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#include "scene.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
void Scene::add_entity(const Entity& entity)
|
||||||
|
{
|
||||||
|
m_entities.push_back(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::vector<Entity>& Scene::get_entities() const
|
||||||
|
{
|
||||||
|
return m_entities;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
27
src/scene.hpp
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef FAN_SCENE_HPP_
|
||||||
|
#define FAN_SCENE_HPP_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "entity.hpp"
|
||||||
|
#include "light.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Scene
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LightEnvironment light_environment{};
|
||||||
|
|
||||||
|
void add_entity(const Entity& entity);
|
||||||
|
|
||||||
|
const std::vector<Entity>& get_entities() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::vector<Entity> m_entities{};
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_SCENE_HPP_
|
||||||
153
src/shader.cpp
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <utility>
|
||||||
|
#include <glm/gtc/type_ptr.hpp>
|
||||||
|
|
||||||
|
#include "shader.hpp"
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Rc<Shader> Shader::create(const std::string& vertex_shader_path,
|
||||||
|
const std::string& fragment_shader_path)
|
||||||
|
{
|
||||||
|
auto vertex_shader = compile_shader(vertex_shader_path, GL_VERTEX_SHADER);
|
||||||
|
if (!vertex_shader) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto fragment_shader = compile_shader(fragment_shader_path, GL_FRAGMENT_SHADER);
|
||||||
|
if (!fragment_shader) {
|
||||||
|
glDeleteShader(*vertex_shader);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLuint shader_program = glCreateProgram();
|
||||||
|
glAttachShader(shader_program, *vertex_shader);
|
||||||
|
glAttachShader(shader_program, *fragment_shader);
|
||||||
|
glLinkProgram(shader_program);
|
||||||
|
|
||||||
|
glDeleteShader(*vertex_shader);
|
||||||
|
glDeleteShader(*fragment_shader);
|
||||||
|
|
||||||
|
GLint success;
|
||||||
|
glGetProgramiv(shader_program, GL_LINK_STATUS, &success);
|
||||||
|
if (!success) {
|
||||||
|
GLint log_length = 0;
|
||||||
|
glGetProgramiv(shader_program, GL_INFO_LOG_LENGTH, &log_length);
|
||||||
|
|
||||||
|
if (log_length > 0) {
|
||||||
|
std::string log(log_length, ' ');
|
||||||
|
glGetProgramInfoLog(shader_program, log_length, nullptr, &log[0]);
|
||||||
|
std::cerr << "ERROR: SHADER: Could not link shader program: " << log << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
glDeleteProgram(shader_program);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return make_rc<Shader>(shader_program);
|
||||||
|
}
|
||||||
|
|
||||||
|
Shader::~Shader()
|
||||||
|
{
|
||||||
|
glDeleteProgram(m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
Shader::Shader(Shader&& other) noexcept
|
||||||
|
: m_id(std::exchange(other.m_id, 0))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
Shader& Shader::operator=(Shader&& other) noexcept
|
||||||
|
{
|
||||||
|
if (this == &other) { return *this; }
|
||||||
|
|
||||||
|
std::swap(m_id, other.m_id);
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLuint Shader::get_id() const
|
||||||
|
{
|
||||||
|
return m_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLint Shader::get_location(const std::string &name)
|
||||||
|
{
|
||||||
|
GLint location = glGetUniformLocation(m_id, name.c_str());
|
||||||
|
if (location == -1) {
|
||||||
|
std::cerr << "WARNING: SHADER: uniform " << name << " not found" << std::endl;
|
||||||
|
}
|
||||||
|
return location;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shader::set_int(const std::string& name, GLint value)
|
||||||
|
{
|
||||||
|
glUniform1i(get_location(name), value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shader::set_float(const std::string& name, float value)
|
||||||
|
{
|
||||||
|
glUniform1f(get_location(name), value);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shader::set_vec3(const std::string& name, float x, float y, float z)
|
||||||
|
{
|
||||||
|
glUniform3f(get_location(name), x, y, z);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shader::set_vec3(const std::string& name, const glm::vec3& value)
|
||||||
|
{
|
||||||
|
glUniform3f(get_location(name), value.x, value.y, value.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shader::set_mat4(const std::string& name, const glm::mat4& value)
|
||||||
|
{
|
||||||
|
GLint location = get_location(name);
|
||||||
|
glUniformMatrix4fv(location, 1, GL_FALSE, glm::value_ptr(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
Opt<GLuint> Shader::compile_shader(const std::string& source_path,
|
||||||
|
GLenum shader_type)
|
||||||
|
{
|
||||||
|
auto shader_source = read_entire_file(source_path);
|
||||||
|
if (!shader_source) {
|
||||||
|
std::cerr << "ERROR: SHADER: Could not read shader " << source_path << std::endl;
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLuint shader = glCreateShader(shader_type);
|
||||||
|
const char *shader_source_str = shader_source->c_str();
|
||||||
|
glShaderSource(shader, 1, &shader_source_str, nullptr);
|
||||||
|
glCompileShader(shader);
|
||||||
|
|
||||||
|
GLint success;
|
||||||
|
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
|
||||||
|
if (!success) {
|
||||||
|
GLint log_length = 0;
|
||||||
|
glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &log_length);
|
||||||
|
|
||||||
|
if (log_length > 0) {
|
||||||
|
std::string log(log_length, ' ');
|
||||||
|
glGetShaderInfoLog(shader, log_length, nullptr, &log[0]);
|
||||||
|
std::cerr << "ERROR: SHADER: Could not compile shader: " << log << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
glDeleteShader(shader);
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
|
return shader;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shader::use() const
|
||||||
|
{
|
||||||
|
if (m_id == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
glUseProgram(m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
47
src/shader.hpp
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
#ifndef FAN_SHADER_HPP_
|
||||||
|
#define FAN_SHADER_HPP_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <glad/gl.h>
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Shader
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static Rc<Shader> create(const std::string& vertex_path,
|
||||||
|
const std::string& fragment_path);
|
||||||
|
Shader(GLuint id) : m_id{id} {}
|
||||||
|
|
||||||
|
~Shader();
|
||||||
|
Shader(const Shader&) = delete;
|
||||||
|
Shader& operator=(const Shader&) = delete;
|
||||||
|
Shader(Shader&& other) noexcept;
|
||||||
|
Shader& operator=(Shader&& other) noexcept;
|
||||||
|
|
||||||
|
GLuint get_id() const;
|
||||||
|
GLint get_location(const std::string &name);
|
||||||
|
|
||||||
|
// Uniform helpers
|
||||||
|
void set_int(const std::string& name, GLint value);
|
||||||
|
void set_float(const std::string& name, float value);
|
||||||
|
void set_vec3(const std::string& name, float x, float y, float z);
|
||||||
|
void set_vec3(const std::string& name, const glm::vec3& value);
|
||||||
|
void set_mat4(const std::string& name, const glm::mat4& value);
|
||||||
|
|
||||||
|
void use() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
GLuint m_id{};
|
||||||
|
|
||||||
|
static Opt<GLuint> compile_shader(const std::string& source_path,
|
||||||
|
GLenum shader_type);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_SHADER_HPP_
|
||||||
9
src/shaders/debug.frag
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
out vec4 frag_color;
|
||||||
|
|
||||||
|
uniform vec3 u_color;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
frag_color = vec4(u_color, 1.0);
|
||||||
|
}
|
||||||
11
src/shaders/debug.vert
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
layout (location = 0) in vec3 a_position;
|
||||||
|
|
||||||
|
uniform mat4 u_model;
|
||||||
|
uniform mat4 u_view_projection;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = u_view_projection * u_model * vec4(a_position, 1.0);
|
||||||
|
}
|
||||||
140
src/shaders/default.frag
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
struct Material
|
||||||
|
{
|
||||||
|
sampler2D diffuse;
|
||||||
|
sampler2D specular;
|
||||||
|
float shininess;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct DirectionalLight
|
||||||
|
{
|
||||||
|
vec3 direction;
|
||||||
|
|
||||||
|
vec3 ambient;
|
||||||
|
vec3 diffuse;
|
||||||
|
vec3 specular;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PointLight {
|
||||||
|
vec3 position;
|
||||||
|
|
||||||
|
float constant;
|
||||||
|
float linear;
|
||||||
|
float quadratic;
|
||||||
|
|
||||||
|
vec3 ambient;
|
||||||
|
vec3 diffuse;
|
||||||
|
vec3 specular;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SpotLight {
|
||||||
|
vec3 position;
|
||||||
|
vec3 direction;
|
||||||
|
|
||||||
|
float cut_off;
|
||||||
|
float outer_cut_off;
|
||||||
|
|
||||||
|
float constant;
|
||||||
|
float linear;
|
||||||
|
float quadratic;
|
||||||
|
|
||||||
|
vec3 ambient;
|
||||||
|
vec3 diffuse;
|
||||||
|
vec3 specular;
|
||||||
|
};
|
||||||
|
|
||||||
|
in vec3 frag_position;
|
||||||
|
in vec3 normal;
|
||||||
|
in vec2 texture_coords;
|
||||||
|
|
||||||
|
out vec4 frag_color;
|
||||||
|
|
||||||
|
uniform vec3 u_view_pos;
|
||||||
|
uniform Material u_material;
|
||||||
|
|
||||||
|
uniform DirectionalLight u_directional_light;
|
||||||
|
#define MAX_POINT_LIGHT_COUNT 8
|
||||||
|
uniform PointLight u_point_lights[MAX_POINT_LIGHT_COUNT];
|
||||||
|
uniform int u_point_light_count;
|
||||||
|
#define MAX_SPOT_LIGHT_COUNT 8
|
||||||
|
uniform SpotLight u_spot_lights[MAX_SPOT_LIGHT_COUNT];
|
||||||
|
uniform int u_spot_light_count;
|
||||||
|
|
||||||
|
vec3 calculate_directional_light(DirectionalLight light, vec3 normal, vec3 view_dir);
|
||||||
|
vec3 calculate_point_light(PointLight light, vec3 normal, vec3 frag_position, vec3 view_dir);
|
||||||
|
vec3 calculate_spot_light(SpotLight light, vec3 normal, vec3 frag_position, vec3 view_dir);
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec3 norm = normalize(normal);
|
||||||
|
vec3 view_dir = normalize(u_view_pos - frag_position);
|
||||||
|
|
||||||
|
vec3 result = calculate_directional_light(u_directional_light, norm, view_dir);
|
||||||
|
|
||||||
|
for (int i = 0; i < u_point_light_count; ++i) {
|
||||||
|
result += calculate_point_light(u_point_lights[i], norm, frag_position, view_dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < u_spot_light_count; ++i) {
|
||||||
|
result += calculate_spot_light(u_spot_lights[i], norm, frag_position, view_dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
frag_color = vec4(result, 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
vec3 calculate_directional_light(DirectionalLight light, vec3 normal, vec3 view_dir)
|
||||||
|
{
|
||||||
|
vec3 light_dir = normalize(-light.direction);
|
||||||
|
float diff = max(dot(normal, light_dir), 0.0);
|
||||||
|
vec3 reflect_dir = reflect(-light_dir, normal);
|
||||||
|
float spec = pow(max(dot(view_dir, reflect_dir), 0.0), u_material.shininess);
|
||||||
|
|
||||||
|
vec3 ambient = light.ambient * vec3(texture(u_material.diffuse, texture_coords));
|
||||||
|
vec3 diffuse = light.diffuse * diff * vec3(texture(u_material.diffuse, texture_coords));
|
||||||
|
vec3 specular = light.specular * spec * vec3(texture(u_material.specular, texture_coords));
|
||||||
|
|
||||||
|
return ambient + diffuse + specular;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec3 calculate_point_light(PointLight light, vec3 normal, vec3 frag_position, vec3 view_dir)
|
||||||
|
{
|
||||||
|
vec3 light_dir = normalize(light.position - frag_position);
|
||||||
|
float diff = max(dot(normal, light_dir), 0.0);
|
||||||
|
vec3 reflect_dir = reflect(-light_dir, normal);
|
||||||
|
float spec = pow(max(dot(view_dir, reflect_dir), 0.0), u_material.shininess);
|
||||||
|
float dist = length(light.position - frag_position);
|
||||||
|
float attenuation = 1.0 / (light.constant + light.linear * dist + light.quadratic * (dist * dist));
|
||||||
|
|
||||||
|
vec3 ambient = light.ambient * vec3(texture(u_material.diffuse, texture_coords));
|
||||||
|
vec3 diffuse = light.diffuse * diff * vec3(texture(u_material.diffuse, texture_coords));
|
||||||
|
vec3 specular = light.specular * spec * vec3(texture(u_material.specular, texture_coords));
|
||||||
|
ambient *= attenuation;
|
||||||
|
diffuse *= attenuation;
|
||||||
|
specular *= attenuation;
|
||||||
|
|
||||||
|
return ambient + diffuse + specular;
|
||||||
|
}
|
||||||
|
|
||||||
|
vec3 calculate_spot_light(SpotLight light, vec3 normal, vec3 frag_position, vec3 view_dir)
|
||||||
|
{
|
||||||
|
vec3 light_dir = normalize(light.position - frag_position);
|
||||||
|
float diff = max(dot(normal, light_dir), 0.0);
|
||||||
|
vec3 reflect_dir = reflect(-light_dir, normal);
|
||||||
|
float spec = pow(max(dot(view_dir, reflect_dir), 0.0), u_material.shininess);
|
||||||
|
float dist = length(light.position - frag_position);
|
||||||
|
float attenuation = 1.0 / (light.constant + light.linear * dist + light.quadratic * (dist* dist));
|
||||||
|
|
||||||
|
float theta = dot(light_dir, normalize(-light.direction));
|
||||||
|
float epsilon = light.cut_off - light.outer_cut_off;
|
||||||
|
float intensity = clamp((theta - light.outer_cut_off) / epsilon, 0.0, 1.0);
|
||||||
|
|
||||||
|
vec3 ambient = light.ambient * vec3(texture(u_material.diffuse, texture_coords));
|
||||||
|
vec3 diffuse = light.diffuse * diff * vec3(texture(u_material.diffuse, texture_coords));
|
||||||
|
vec3 specular = light.specular * spec * vec3(texture(u_material.specular, texture_coords));
|
||||||
|
ambient *= attenuation * intensity;
|
||||||
|
diffuse *= attenuation * intensity;
|
||||||
|
specular *= attenuation * intensity;
|
||||||
|
|
||||||
|
return ambient + diffuse + specular;
|
||||||
|
}
|
||||||
24
src/shaders/default.vert
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
layout (location = 0) in vec3 a_position;
|
||||||
|
layout (location = 1) in vec3 a_normal;
|
||||||
|
layout (location = 2) in vec2 a_texture_coords;
|
||||||
|
|
||||||
|
out vec3 frag_position;
|
||||||
|
out vec3 normal;
|
||||||
|
out vec2 texture_coords;
|
||||||
|
|
||||||
|
uniform mat4 u_model;
|
||||||
|
uniform mat4 u_view_projection;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = u_view_projection * u_model * vec4(a_position, 1.0);
|
||||||
|
|
||||||
|
frag_position = vec3(u_model * vec4(a_position, 1.0));
|
||||||
|
|
||||||
|
mat3 normal_matrix = mat3(transpose(inverse(u_model))); // TODO: Calculate on CPU for performance
|
||||||
|
normal = normal_matrix * a_normal;
|
||||||
|
|
||||||
|
texture_coords = a_texture_coords;
|
||||||
|
}
|
||||||
86
src/texture.cpp
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <stb_image.h>
|
||||||
|
|
||||||
|
#include "texture.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Rc<Texture> Texture::create(const std::string& image_path)
|
||||||
|
{
|
||||||
|
stbi_set_flip_vertically_on_load(true);
|
||||||
|
|
||||||
|
int width, height, n_channels;
|
||||||
|
stbi_uc *image_data = stbi_load(image_path.c_str(), &width, &height, &n_channels, STBI_rgb_alpha);
|
||||||
|
if (image_data == NULL) {
|
||||||
|
std::cerr << "ERROR: TEXTURE: Could not load image " << image_path << std::endl;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLuint texture;
|
||||||
|
glGenTextures(1, &texture);
|
||||||
|
if (glGetError() != GL_NO_ERROR) {
|
||||||
|
std::cerr << "ERROR: TEXTURE: glGenTextures" << std::endl;
|
||||||
|
stbi_image_free(image_data);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
glBindTexture(GL_TEXTURE_2D, texture);
|
||||||
|
|
||||||
|
// Texture wrapping parameters
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
|
||||||
|
|
||||||
|
// Texture filtering parameters
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
|
||||||
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
|
|
||||||
|
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, image_data);
|
||||||
|
glGenerateMipmap(GL_TEXTURE_2D);
|
||||||
|
|
||||||
|
stbi_image_free(image_data);
|
||||||
|
|
||||||
|
return make_rc<Texture>(texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
Texture::~Texture()
|
||||||
|
{
|
||||||
|
glDeleteTextures(1, &m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
Texture::Texture(Texture&& other) noexcept
|
||||||
|
{
|
||||||
|
m_id = other.m_id;
|
||||||
|
other.m_id = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Texture& Texture::operator=(Texture&& other) noexcept
|
||||||
|
{
|
||||||
|
if (this == &other) {
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
glDeleteTextures(1, &m_id);
|
||||||
|
m_id = other.m_id;
|
||||||
|
other.m_id = 0;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLuint Texture::get_id() const
|
||||||
|
{
|
||||||
|
return m_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Texture::bind(GLuint slot/* = 0*/) const
|
||||||
|
{
|
||||||
|
glActiveTexture(GL_TEXTURE0 + slot);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Texture::unbind(GLuint slot/* = 0*/)
|
||||||
|
{
|
||||||
|
glActiveTexture(GL_TEXTURE0 + slot);
|
||||||
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
35
src/texture.hpp
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#ifndef FAN_TEXTURE_HPP_
|
||||||
|
#define FAN_TEXTURE_HPP_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <glad/gl.h>
|
||||||
|
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Texture
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static Rc<Texture> create(const std::string& image_path);
|
||||||
|
Texture(GLuint id) : m_id{id} {}
|
||||||
|
|
||||||
|
~Texture();
|
||||||
|
Texture(const Texture&) = delete;
|
||||||
|
Texture& operator=(const Texture&) = delete;
|
||||||
|
Texture(Texture&& other) noexcept;
|
||||||
|
Texture& operator=(Texture&& other) noexcept;
|
||||||
|
|
||||||
|
GLuint get_id() const;
|
||||||
|
|
||||||
|
void bind(GLuint slot = 0) const;
|
||||||
|
static void unbind(GLuint slot = 0);
|
||||||
|
|
||||||
|
private:
|
||||||
|
GLuint m_id{};
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_TEXTURE_HPP_
|
||||||
49
src/transform.cpp
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#include "transform.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
void Transform::rotate(float angle_rad, const glm::vec3& axis)
|
||||||
|
{
|
||||||
|
rotation = glm::angleAxis(angle_rad, glm::normalize(axis)) * rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::mat4 Transform::get_model_matrix() const
|
||||||
|
{
|
||||||
|
glm::mat4 model = glm::translate(glm::mat4(1.0f), position);
|
||||||
|
model *= glm::mat4_cast(rotation);
|
||||||
|
model = glm::scale(model, scale);
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Transform::get_euler_angles() const
|
||||||
|
{
|
||||||
|
return glm::eulerAngles(rotation);
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Transform::get_forward() const
|
||||||
|
{
|
||||||
|
return rotation * glm::vec3(0.0f, 0.0f, -1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Transform::get_right() const
|
||||||
|
{
|
||||||
|
return rotation * glm::vec3(1.0f, 0.0f, 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
glm::vec3 Transform::get_up() const
|
||||||
|
{
|
||||||
|
return rotation * glm::vec3(0.0f, 1.0f, 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Transform::set_rotation(float angle_rad, const glm::vec3& axis)
|
||||||
|
{
|
||||||
|
rotation = glm::angleAxis(angle_rad, glm::normalize(axis));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Transform::set_euler_angles(const glm::vec3& euler_rad)
|
||||||
|
{
|
||||||
|
rotation = glm::quat(euler_rad);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
45
src/transform.hpp
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
#ifndef FAN_TRANSFORM_HPP_
|
||||||
|
#define FAN_TRANSFORM_HPP_
|
||||||
|
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
#include <glm/gtc/matrix_transform.hpp>
|
||||||
|
#include <glm/gtc/quaternion.hpp>
|
||||||
|
#include <glm/gtx/quaternion.hpp>
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
struct Transform
|
||||||
|
{
|
||||||
|
glm::vec3 position{0.0f, 0.0f, 0.0f};
|
||||||
|
glm::quat rotation{1.0f, 0.0f, 0.0f, 0.0f};
|
||||||
|
glm::vec3 scale{1.0f, 1.0f, 1.0f};
|
||||||
|
|
||||||
|
Transform() = default;
|
||||||
|
explicit Transform(const glm::vec3& position)
|
||||||
|
: position(position) {}
|
||||||
|
|
||||||
|
// Rotate relative to current orientation
|
||||||
|
void rotate(float angle_rad, const glm::vec3& axis);
|
||||||
|
|
||||||
|
// Get the model matrix of the transform
|
||||||
|
glm::mat4 get_model_matrix() const;
|
||||||
|
|
||||||
|
// Get Euler angles in radians
|
||||||
|
glm::vec3 get_euler_angles() const;
|
||||||
|
|
||||||
|
// Get direction vectors
|
||||||
|
glm::vec3 get_forward() const;
|
||||||
|
glm::vec3 get_right() const;
|
||||||
|
glm::vec3 get_up() const;
|
||||||
|
|
||||||
|
// Set rotation using axis-angle (angle in radians)
|
||||||
|
void set_rotation(float angle_rad, const glm::vec3& axis);
|
||||||
|
|
||||||
|
// Set rotation using Euler angles in radians (pitch, yaw, roll / X, Y, Z)
|
||||||
|
void set_euler_angles(const glm::vec3& euler_rad);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_TRANSFORM_HPP_
|
||||||
20
src/utils.cpp
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Opt<std::string> read_entire_file(const std::string& file_path)
|
||||||
|
{
|
||||||
|
std::ifstream file(file_path);
|
||||||
|
if (!file) { return std::nullopt; }
|
||||||
|
|
||||||
|
std::ostringstream buffer;
|
||||||
|
buffer << file.rdbuf();
|
||||||
|
|
||||||
|
return buffer.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
27
src/utils.hpp
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#ifndef FAN_UTILS_HPP_
|
||||||
|
#define FAN_UTILS_HPP_
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <optional>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
using Rc = std::shared_ptr<T>;
|
||||||
|
|
||||||
|
template <typename T, typename... Args>
|
||||||
|
Rc<T> make_rc(Args&&... args)
|
||||||
|
{
|
||||||
|
return std::make_shared<T>(std::forward<Args>(args)...);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
using Opt = std::optional<T>;
|
||||||
|
|
||||||
|
Opt<std::string> read_entire_file(const std::string& file_path);
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_UTILS_HPP_
|
||||||
18
src/vertex.hpp
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#ifndef FAN_VERTEX_HPP_
|
||||||
|
#define FAN_VERTEX_HPP_
|
||||||
|
|
||||||
|
#include <glm/glm.hpp>
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
struct Vertex
|
||||||
|
{
|
||||||
|
glm::vec3 position;
|
||||||
|
glm::vec3 normal;
|
||||||
|
glm::vec2 texture_coords;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_VERTEX_HPP_
|
||||||
270
src/window.cpp
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <utility>
|
||||||
|
#include <glad/gl.h>
|
||||||
|
#include <imgui.h>
|
||||||
|
#include <imgui_impl_glfw.h>
|
||||||
|
#include <imgui_impl_opengl3.h>
|
||||||
|
|
||||||
|
#include "window.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
Rc<Window> Window::create(int width, int height, const std::string& title)
|
||||||
|
{
|
||||||
|
glfwSetErrorCallback(error_callback);
|
||||||
|
|
||||||
|
if (!glfwInit()) {
|
||||||
|
std::cerr << "ERROR: WINDOW: Could not initialize GLFW" << std::endl;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||||
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||||
|
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
|
||||||
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||||
|
|
||||||
|
GLFWwindow *window = glfwCreateWindow(width, height, title.c_str(), nullptr, nullptr);
|
||||||
|
if (window == nullptr) {
|
||||||
|
std::cerr << "ERROR: WINDOW: Could not create window" << std::endl;
|
||||||
|
glfwTerminate();
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
glfwMakeContextCurrent(window);
|
||||||
|
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
|
||||||
|
glfwSetCursorPosCallback(window, mouse_callback);
|
||||||
|
glfwSetInputMode(window, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE);
|
||||||
|
|
||||||
|
if (!gladLoadGL(glfwGetProcAddress)) {
|
||||||
|
std::cerr << "ERROR: WINDOW: Could not initialize OpenGL context" << std::endl;
|
||||||
|
glfwDestroyWindow(window);
|
||||||
|
glfwTerminate();
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
int fb_width, fb_height;
|
||||||
|
glfwGetFramebufferSize(window, &fb_width, &fb_height);
|
||||||
|
glViewport(0, 0, fb_width, fb_height);
|
||||||
|
|
||||||
|
IMGUI_CHECKVERSION();
|
||||||
|
ImGui::CreateContext();
|
||||||
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
|
||||||
|
io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad;
|
||||||
|
io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;
|
||||||
|
io.IniFilename = nullptr;
|
||||||
|
|
||||||
|
ImGui_ImplGlfw_InitForOpenGL(window, true);
|
||||||
|
ImGui_ImplOpenGL3_Init();
|
||||||
|
|
||||||
|
return make_rc<Window>(window, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
Window::Window(GLFWwindow *window, int width, int height)
|
||||||
|
: m_width(width)
|
||||||
|
, m_height(height)
|
||||||
|
, m_window(window)
|
||||||
|
{
|
||||||
|
// Bind this instance to the window for static callbacks
|
||||||
|
glfwSetWindowUserPointer(window, this);
|
||||||
|
};
|
||||||
|
|
||||||
|
Window::~Window()
|
||||||
|
{
|
||||||
|
if (!is_valid()) { return; }
|
||||||
|
|
||||||
|
ImGui_ImplOpenGL3_Shutdown();
|
||||||
|
ImGui_ImplGlfw_Shutdown();
|
||||||
|
ImGui::DestroyContext();
|
||||||
|
|
||||||
|
glfwDestroyWindow(m_window);
|
||||||
|
glfwTerminate();
|
||||||
|
}
|
||||||
|
|
||||||
|
Window::Window(Window&& other) noexcept
|
||||||
|
: m_delta_time(other.m_delta_time)
|
||||||
|
, m_width(other.m_width)
|
||||||
|
, m_height(other.m_height)
|
||||||
|
, m_window(std::exchange(other.m_window, nullptr))
|
||||||
|
, m_last_frame(other.m_last_frame)
|
||||||
|
, m_callback_user_data(other.m_callback_user_data)
|
||||||
|
, m_mouse_user_callback(other.m_mouse_user_callback)
|
||||||
|
, m_current_keys(std::move(other.m_current_keys))
|
||||||
|
, m_previous_keys(std::move(other.m_previous_keys))
|
||||||
|
{
|
||||||
|
if (m_window != nullptr) {
|
||||||
|
glfwSetWindowUserPointer(m_window, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Window& Window::operator=(Window&& other) noexcept
|
||||||
|
{
|
||||||
|
if (this == &other) { return *this; }
|
||||||
|
|
||||||
|
std::swap(m_delta_time, other.m_delta_time);
|
||||||
|
std::swap(m_width, other.m_width);
|
||||||
|
std::swap(m_height, other.m_height);
|
||||||
|
std::swap(m_window, other.m_window);
|
||||||
|
std::swap(m_last_frame, other.m_last_frame);
|
||||||
|
std::swap(m_callback_user_data, other.m_callback_user_data);
|
||||||
|
std::swap(m_mouse_user_callback, other.m_mouse_user_callback);
|
||||||
|
std::swap(m_current_keys, other.m_current_keys);
|
||||||
|
std::swap(m_previous_keys, other.m_previous_keys);
|
||||||
|
|
||||||
|
if (m_window != nullptr) {
|
||||||
|
glfwSetWindowUserPointer(m_window, this);
|
||||||
|
}
|
||||||
|
if (other.m_window != nullptr) {
|
||||||
|
glfwSetWindowUserPointer(other.m_window, &other);
|
||||||
|
}
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::should_close() const
|
||||||
|
{
|
||||||
|
return is_valid() ? glfwWindowShouldClose(m_window) : true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::is_valid() const
|
||||||
|
{
|
||||||
|
return m_window != nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::is_fullscreen() const
|
||||||
|
{
|
||||||
|
return is_valid() && (glfwGetWindowMonitor(m_window) != nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::is_key_down(int glfw_key)
|
||||||
|
{
|
||||||
|
return is_valid() && m_current_keys[glfw_key];
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Window::is_key_pressed(int glfw_key)
|
||||||
|
{
|
||||||
|
return is_valid() && m_current_keys[glfw_key] && !m_previous_keys[glfw_key];
|
||||||
|
}
|
||||||
|
|
||||||
|
float Window::get_delta_time()
|
||||||
|
{
|
||||||
|
return m_delta_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Window::get_width() const
|
||||||
|
{
|
||||||
|
return m_width;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Window::get_height() const
|
||||||
|
{
|
||||||
|
return m_height;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::set_should_close(bool enabled)
|
||||||
|
{
|
||||||
|
if (is_valid()) { glfwSetWindowShouldClose(m_window, enabled); }
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::set_mouse_grab(bool enabled)
|
||||||
|
{
|
||||||
|
if (is_valid()) {
|
||||||
|
glfwSetInputMode(m_window, GLFW_CURSOR, enabled ? GLFW_CURSOR_DISABLED : GLFW_CURSOR_NORMAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::set_fullscreen(bool enabled)
|
||||||
|
{
|
||||||
|
if (!is_valid() || enabled == is_fullscreen()) { return; }
|
||||||
|
|
||||||
|
static int windowed_x = 100;
|
||||||
|
static int windowed_y = 100;
|
||||||
|
static int windowed_width = 800;
|
||||||
|
static int windowed_height = 600;
|
||||||
|
|
||||||
|
if (enabled) {
|
||||||
|
glfwGetWindowPos(m_window, &windowed_x, &windowed_y);
|
||||||
|
glfwGetWindowSize(m_window, &windowed_width, &windowed_height);
|
||||||
|
|
||||||
|
GLFWmonitor* monitor = glfwGetPrimaryMonitor();
|
||||||
|
if (monitor == nullptr) { return; }
|
||||||
|
const GLFWvidmode* mode = glfwGetVideoMode(monitor);
|
||||||
|
if (mode == nullptr) { return; }
|
||||||
|
|
||||||
|
glfwSetWindowMonitor(m_window, monitor, 0, 0,
|
||||||
|
mode->width, mode->height, mode->refreshRate);
|
||||||
|
} else {
|
||||||
|
glfwSetWindowMonitor(m_window, nullptr, windowed_x, windowed_y,
|
||||||
|
windowed_width, windowed_height, GLFW_DONT_CARE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::set_vsync(bool enabled)
|
||||||
|
{
|
||||||
|
if (is_valid()) glfwSwapInterval(enabled ? 1 : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::set_callback_user_data(void *data)
|
||||||
|
{
|
||||||
|
m_callback_user_data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::set_mouse_callback(MouseCallback callback)
|
||||||
|
{
|
||||||
|
m_mouse_user_callback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::begin()
|
||||||
|
{
|
||||||
|
ImGui_ImplOpenGL3_NewFrame();
|
||||||
|
ImGui_ImplGlfw_NewFrame();
|
||||||
|
ImGui::NewFrame();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::update()
|
||||||
|
{
|
||||||
|
if (!is_valid()) { return; }
|
||||||
|
|
||||||
|
float current_time = static_cast<float>(glfwGetTime());
|
||||||
|
m_delta_time = current_time - m_last_frame;
|
||||||
|
m_last_frame = current_time;
|
||||||
|
|
||||||
|
m_previous_keys = m_current_keys;
|
||||||
|
for (int i = 32; i < 348; ++i) {
|
||||||
|
m_current_keys[i] = glfwGetKey(m_window, i) == GLFW_PRESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::end()
|
||||||
|
{
|
||||||
|
if (!is_valid()) { return; }
|
||||||
|
|
||||||
|
glfwGetWindowSize(m_window, &m_width, &m_height);
|
||||||
|
|
||||||
|
ImGui::Render();
|
||||||
|
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
|
||||||
|
|
||||||
|
glfwSwapBuffers(m_window);
|
||||||
|
glfwPollEvents();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::error_callback(int error, const char* description)
|
||||||
|
{
|
||||||
|
std::cerr << "ERROR: WINDOW: GLFW: code: " << error << " msg: " << description << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::framebuffer_size_callback(GLFWwindow* window, int width, int height)
|
||||||
|
{
|
||||||
|
(void) window;
|
||||||
|
glViewport(0, 0, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Window::mouse_callback(GLFWwindow* window, double x_pos, double y_pos)
|
||||||
|
{
|
||||||
|
Window* win = static_cast<Window*>(glfwGetWindowUserPointer(window));
|
||||||
|
if (win == nullptr || !win->is_valid() || win->m_mouse_user_callback == nullptr) { return; }
|
||||||
|
win->m_mouse_user_callback(x_pos, y_pos, win->m_callback_user_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
70
src/window.hpp
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
#ifndef FAN_WINDOW_HPP_
|
||||||
|
#define FAN_WINDOW_HPP_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
|
||||||
|
#include "utils.hpp"
|
||||||
|
|
||||||
|
namespace Fan
|
||||||
|
{
|
||||||
|
|
||||||
|
class Window
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static Rc<Window> create(int width, int height, const std::string& title);
|
||||||
|
Window(GLFWwindow* window, int width, int height);
|
||||||
|
|
||||||
|
~Window();
|
||||||
|
Window(const Window&) = delete;
|
||||||
|
Window& operator=(const Window&) = delete;
|
||||||
|
Window(Window&& other) noexcept;
|
||||||
|
Window& operator=(Window&& other) noexcept;
|
||||||
|
|
||||||
|
bool should_close() const;
|
||||||
|
bool is_valid() const;
|
||||||
|
bool is_fullscreen() const;
|
||||||
|
bool is_key_down(int glfw_key);
|
||||||
|
bool is_key_pressed(int glfw_key);
|
||||||
|
|
||||||
|
float get_delta_time();
|
||||||
|
int get_width() const;
|
||||||
|
int get_height() const;
|
||||||
|
|
||||||
|
void set_should_close(bool enabled);
|
||||||
|
void set_mouse_grab(bool enabled);
|
||||||
|
void set_fullscreen(bool enabled);
|
||||||
|
void set_vsync(bool enabled);
|
||||||
|
|
||||||
|
// User callbacks
|
||||||
|
using MouseCallback = void (*)(double x_pos, double y_pos, void* user_data);
|
||||||
|
void set_callback_user_data(void *data);
|
||||||
|
void set_mouse_callback(MouseCallback callback);
|
||||||
|
|
||||||
|
// Main loop functions
|
||||||
|
void begin();
|
||||||
|
void update();
|
||||||
|
void end();
|
||||||
|
|
||||||
|
private:
|
||||||
|
float m_delta_time{};
|
||||||
|
int m_width{};
|
||||||
|
int m_height{};
|
||||||
|
|
||||||
|
GLFWwindow* m_window{};
|
||||||
|
float m_last_frame{};
|
||||||
|
void *m_callback_user_data{};
|
||||||
|
MouseCallback m_mouse_user_callback{};
|
||||||
|
|
||||||
|
std::unordered_map<int, bool> m_current_keys{};
|
||||||
|
std::unordered_map<int, bool> m_previous_keys{};
|
||||||
|
|
||||||
|
static void error_callback(int error, const char* description);
|
||||||
|
static void framebuffer_size_callback(GLFWwindow* window, int width, int height);
|
||||||
|
static void mouse_callback(GLFWwindow* window, double x_pos, double y_pos);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Fan
|
||||||
|
|
||||||
|
#endif // FAN_WINDOW_HPP_
|
||||||
311
thirdparty/glad/include/KHR/khrplatform.h
vendored
Normal file
@@ -0,0 +1,311 @@
|
|||||||
|
#ifndef __khrplatform_h_
|
||||||
|
#define __khrplatform_h_
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
** copy of this software and/or associated documentation files (the
|
||||||
|
** "Materials"), to deal in the Materials without restriction, including
|
||||||
|
** without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
** permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
** the following conditions:
|
||||||
|
**
|
||||||
|
** The above copyright notice and this permission notice shall be included
|
||||||
|
** in all copies or substantial portions of the Materials.
|
||||||
|
**
|
||||||
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Khronos platform-specific types and definitions.
|
||||||
|
*
|
||||||
|
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||||
|
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||||
|
* The last semantic modification to khrplatform.h was at commit ID:
|
||||||
|
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||||
|
*
|
||||||
|
* Adopters may modify this file to suit their platform. Adopters are
|
||||||
|
* encouraged to submit platform specific modifications to the Khronos
|
||||||
|
* group so that they can be included in future versions of this file.
|
||||||
|
* Please submit changes by filing pull requests or issues on
|
||||||
|
* the EGL Registry repository linked above.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* See the Implementer's Guidelines for information about where this file
|
||||||
|
* should be located on your system and for more details of its use:
|
||||||
|
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||||
|
*
|
||||||
|
* This file should be included as
|
||||||
|
* #include <KHR/khrplatform.h>
|
||||||
|
* by Khronos client API header files that use its types and defines.
|
||||||
|
*
|
||||||
|
* The types in khrplatform.h should only be used to define API-specific types.
|
||||||
|
*
|
||||||
|
* Types defined in khrplatform.h:
|
||||||
|
* khronos_int8_t signed 8 bit
|
||||||
|
* khronos_uint8_t unsigned 8 bit
|
||||||
|
* khronos_int16_t signed 16 bit
|
||||||
|
* khronos_uint16_t unsigned 16 bit
|
||||||
|
* khronos_int32_t signed 32 bit
|
||||||
|
* khronos_uint32_t unsigned 32 bit
|
||||||
|
* khronos_int64_t signed 64 bit
|
||||||
|
* khronos_uint64_t unsigned 64 bit
|
||||||
|
* khronos_intptr_t signed same number of bits as a pointer
|
||||||
|
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||||
|
* khronos_ssize_t signed size
|
||||||
|
* khronos_usize_t unsigned size
|
||||||
|
* khronos_float_t signed 32 bit floating point
|
||||||
|
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||||
|
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||||
|
* nanoseconds
|
||||||
|
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||||
|
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||||
|
* only be used as a base type when a client API's boolean type is
|
||||||
|
* an enum. Client APIs which use an integer or other type for
|
||||||
|
* booleans cannot use this as the base type for their boolean.
|
||||||
|
*
|
||||||
|
* Tokens defined in khrplatform.h:
|
||||||
|
*
|
||||||
|
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||||
|
*
|
||||||
|
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||||
|
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||||
|
*
|
||||||
|
* Calling convention macros defined in this file:
|
||||||
|
* KHRONOS_APICALL
|
||||||
|
* KHRONOS_APIENTRY
|
||||||
|
* KHRONOS_APIATTRIBUTES
|
||||||
|
*
|
||||||
|
* These may be used in function prototypes as:
|
||||||
|
*
|
||||||
|
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||||
|
* int arg1,
|
||||||
|
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||||
|
# define KHRONOS_STATIC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APICALL
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This precedes the return type of the function in the function prototype.
|
||||||
|
*/
|
||||||
|
#if defined(KHRONOS_STATIC)
|
||||||
|
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||||
|
* header compatible with static linking. */
|
||||||
|
# define KHRONOS_APICALL
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
# define KHRONOS_APICALL __declspec(dllimport)
|
||||||
|
#elif defined (__SYMBIAN32__)
|
||||||
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
|
#elif defined(__ANDROID__)
|
||||||
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||||
|
#else
|
||||||
|
# define KHRONOS_APICALL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APIENTRY
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This follows the return type of the function and precedes the function
|
||||||
|
* name in the function prototype.
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||||
|
/* Win32 but not WinCE */
|
||||||
|
# define KHRONOS_APIENTRY __stdcall
|
||||||
|
#else
|
||||||
|
# define KHRONOS_APIENTRY
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APIATTRIBUTES
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This follows the closing parenthesis of the function prototype arguments.
|
||||||
|
*/
|
||||||
|
#if defined (__ARMCC_2__)
|
||||||
|
#define KHRONOS_APIATTRIBUTES __softfp
|
||||||
|
#else
|
||||||
|
#define KHRONOS_APIATTRIBUTES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* basic type definitions
|
||||||
|
*-----------------------------------------------------------------------*/
|
||||||
|
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Using <stdint.h>
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
typedef int32_t khronos_int32_t;
|
||||||
|
typedef uint32_t khronos_uint32_t;
|
||||||
|
typedef int64_t khronos_int64_t;
|
||||||
|
typedef uint64_t khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
/*
|
||||||
|
* To support platform where unsigned long cannot be used interchangeably with
|
||||||
|
* inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t.
|
||||||
|
* Ideally, we could just use (u)intptr_t everywhere, but this could result in
|
||||||
|
* ABI breakage if khronos_uintptr_t is changed from unsigned long to
|
||||||
|
* unsigned long long or similar (this results in different C++ name mangling).
|
||||||
|
* To avoid changes for existing platforms, we restrict usage of intptr_t to
|
||||||
|
* platforms where the size of a pointer is larger than the size of long.
|
||||||
|
*/
|
||||||
|
#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__)
|
||||||
|
#if __SIZEOF_POINTER__ > __SIZEOF_LONG__
|
||||||
|
#define KHRONOS_USE_INTPTR_T
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif defined(__VMS ) || defined(__sgi)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Using <inttypes.h>
|
||||||
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
typedef int32_t khronos_int32_t;
|
||||||
|
typedef uint32_t khronos_uint32_t;
|
||||||
|
typedef int64_t khronos_int64_t;
|
||||||
|
typedef uint64_t khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Win32
|
||||||
|
*/
|
||||||
|
typedef __int32 khronos_int32_t;
|
||||||
|
typedef unsigned __int32 khronos_uint32_t;
|
||||||
|
typedef __int64 khronos_int64_t;
|
||||||
|
typedef unsigned __int64 khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif defined(__sun__) || defined(__digital__)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sun or Digital
|
||||||
|
*/
|
||||||
|
typedef int khronos_int32_t;
|
||||||
|
typedef unsigned int khronos_uint32_t;
|
||||||
|
#if defined(__arch64__) || defined(_LP64)
|
||||||
|
typedef long int khronos_int64_t;
|
||||||
|
typedef unsigned long int khronos_uint64_t;
|
||||||
|
#else
|
||||||
|
typedef long long int khronos_int64_t;
|
||||||
|
typedef unsigned long long int khronos_uint64_t;
|
||||||
|
#endif /* __arch64__ */
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#elif 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hypothetical platform with no float or int64 support
|
||||||
|
*/
|
||||||
|
typedef int khronos_int32_t;
|
||||||
|
typedef unsigned int khronos_uint32_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 0
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 0
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generic fallback
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
typedef int32_t khronos_int32_t;
|
||||||
|
typedef uint32_t khronos_uint32_t;
|
||||||
|
typedef int64_t khronos_int64_t;
|
||||||
|
typedef uint64_t khronos_uint64_t;
|
||||||
|
#define KHRONOS_SUPPORT_INT64 1
|
||||||
|
#define KHRONOS_SUPPORT_FLOAT 1
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Types that are (so far) the same on all platforms
|
||||||
|
*/
|
||||||
|
typedef signed char khronos_int8_t;
|
||||||
|
typedef unsigned char khronos_uint8_t;
|
||||||
|
typedef signed short int khronos_int16_t;
|
||||||
|
typedef unsigned short int khronos_uint16_t;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||||
|
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||||
|
* to be the only LLP64 architecture in current use.
|
||||||
|
*/
|
||||||
|
#ifdef KHRONOS_USE_INTPTR_T
|
||||||
|
typedef intptr_t khronos_intptr_t;
|
||||||
|
typedef uintptr_t khronos_uintptr_t;
|
||||||
|
#elif defined(_WIN64)
|
||||||
|
typedef signed long long int khronos_intptr_t;
|
||||||
|
typedef unsigned long long int khronos_uintptr_t;
|
||||||
|
#else
|
||||||
|
typedef signed long int khronos_intptr_t;
|
||||||
|
typedef unsigned long int khronos_uintptr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_WIN64)
|
||||||
|
typedef signed long long int khronos_ssize_t;
|
||||||
|
typedef unsigned long long int khronos_usize_t;
|
||||||
|
#else
|
||||||
|
typedef signed long int khronos_ssize_t;
|
||||||
|
typedef unsigned long int khronos_usize_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if KHRONOS_SUPPORT_FLOAT
|
||||||
|
/*
|
||||||
|
* Float type
|
||||||
|
*/
|
||||||
|
typedef float khronos_float_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if KHRONOS_SUPPORT_INT64
|
||||||
|
/* Time types
|
||||||
|
*
|
||||||
|
* These types can be used to represent a time interval in nanoseconds or
|
||||||
|
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||||
|
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||||
|
* time the system booted). The Unadjusted System Time is an unsigned
|
||||||
|
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||||
|
* may be either signed or unsigned.
|
||||||
|
*/
|
||||||
|
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||||
|
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Dummy value used to pad enum types to 32 bits.
|
||||||
|
*/
|
||||||
|
#ifndef KHRONOS_MAX_ENUM
|
||||||
|
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enumerated boolean type
|
||||||
|
*
|
||||||
|
* Values other than zero should be considered to be true. Therefore
|
||||||
|
* comparisons should not be made against KHRONOS_TRUE.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
KHRONOS_FALSE = 0,
|
||||||
|
KHRONOS_TRUE = 1,
|
||||||
|
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||||
|
} khronos_boolean_enum_t;
|
||||||
|
|
||||||
|
#endif /* __khrplatform_h_ */
|
||||||
13702
thirdparty/glad/include/glad/gl.h
vendored
Normal file
8050
thirdparty/glad/src/gl.c
vendored
Normal file
34
thirdparty/glm/.appveyor.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
clone_folder: c:\dev\glm-cmake
|
||||||
|
|
||||||
|
os:
|
||||||
|
- Visual Studio 2013
|
||||||
|
|
||||||
|
platform:
|
||||||
|
- x86
|
||||||
|
- x86_64
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- md build_pure_11
|
||||||
|
- cd build_pure_11
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||||
|
- cmake --build . --config Debug
|
||||||
|
- cmake --build . --config Release
|
||||||
|
- cd ..
|
||||||
|
- md build_simd_11
|
||||||
|
- cd build_simd_11
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON ..
|
||||||
|
- cmake --build . --config Debug
|
||||||
|
- cmake --build . --config Release
|
||||||
|
- cd ..
|
||||||
|
- md build_pure_98
|
||||||
|
- cd build_pure_98
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||||
|
- cmake --build . --config Debug
|
||||||
|
- cmake --build . --config Release
|
||||||
|
- cd ..
|
||||||
|
- md build_simd_98
|
||||||
|
- cd build_simd_98
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON ..
|
||||||
|
- cmake --build . --config Debug
|
||||||
|
- cmake --build . --config Release
|
||||||
|
- cd ..
|
||||||
54
thirdparty/glm/.gitignore
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
# Compiled Object files
|
||||||
|
*.slo
|
||||||
|
*.lo
|
||||||
|
*.o
|
||||||
|
*.obj
|
||||||
|
|
||||||
|
# Precompiled Headers
|
||||||
|
*.gch
|
||||||
|
*.pch
|
||||||
|
|
||||||
|
# Compiled Dynamic libraries
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.dll
|
||||||
|
|
||||||
|
# Fortran module files
|
||||||
|
*.mod
|
||||||
|
|
||||||
|
# Compiled Static libraries
|
||||||
|
*.lai
|
||||||
|
*.la
|
||||||
|
*.a
|
||||||
|
*.lib
|
||||||
|
|
||||||
|
# Executables
|
||||||
|
*.exe
|
||||||
|
*.out
|
||||||
|
*.app
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
|
cmake_install.cmake
|
||||||
|
install_manifest.txt
|
||||||
|
*.cmake
|
||||||
|
# ^ May need to add future .cmake files as exceptions
|
||||||
|
|
||||||
|
# Test logs
|
||||||
|
Testing/*
|
||||||
|
|
||||||
|
# Test input
|
||||||
|
test/gtc/*.dds
|
||||||
|
|
||||||
|
# Project Files
|
||||||
|
Makefile
|
||||||
|
*.cbp
|
||||||
|
*.user
|
||||||
|
|
||||||
|
# Misc.
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# local build(s)
|
||||||
|
build*
|
||||||
|
|
||||||
84
thirdparty/glm/.travis.yml
vendored
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
language: cpp
|
||||||
|
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
- osx
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- compiler: gcc
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
packages:
|
||||||
|
- g++-4.9
|
||||||
|
env: COMPILER=g++-4.9
|
||||||
|
- compiler: clang
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
- ubuntu-toolchain-r-test
|
||||||
|
- llvm-toolchain-precise-3.8
|
||||||
|
packages:
|
||||||
|
- clang-3.8
|
||||||
|
env: COMPILER=clang++-3.8
|
||||||
|
|
||||||
|
compiler:
|
||||||
|
- clang
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
|
||||||
|
script:
|
||||||
|
- mkdir ./build_pure_11
|
||||||
|
- cd ./build_pure_11
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_pure_98
|
||||||
|
- cd ./build_pure_98
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_pure_11_debug
|
||||||
|
- cd ./build_pure_11_debug
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_pure_98_debug
|
||||||
|
- cd ./build_pure_98_debug
|
||||||
|
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_simd_11
|
||||||
|
- cd ./build_simd_11
|
||||||
|
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_simd_98
|
||||||
|
- cd ./build_simd_98
|
||||||
|
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_simd_11_debug
|
||||||
|
- cd ./build_simd_11_debug
|
||||||
|
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
- mkdir ./build_simd_98_debug
|
||||||
|
- cd ./build_simd_98_debug
|
||||||
|
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||||
|
- cmake --build .
|
||||||
|
- ctest
|
||||||
|
- cd ..
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
232
thirdparty/glm/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
|
||||||
|
cmake_policy(VERSION 2.6)
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS "3.1")
|
||||||
|
cmake_policy(SET CMP0054 NEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
project(glm)
|
||||||
|
set(GLM_VERSION "0.9.8")
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
|
||||||
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
|
||||||
|
option(GLM_STATIC_LIBRARY_ENABLE "GLM static library" OFF)
|
||||||
|
if(GLM_STATIC_LIBRARY_ENABLE)
|
||||||
|
message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_STATIC_LIBRARY_ENABLE with ON to build an optional static library")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(GLM_DYNAMIC_LIBRARY_ENABLE "GLM static library" OFF)
|
||||||
|
if(GLM_DYNAMIC_LIBRARY_ENABLE)
|
||||||
|
message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_DYNAMIC_LIBRARY_ENABLE with ON to build an optional dynamic library")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(GLM_TEST_ENABLE "GLM test" OFF)
|
||||||
|
if(NOT GLM_TEST_ENABLE)
|
||||||
|
message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_TEST_ENABLE with ON to build and run the test bench")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(GLM_TEST_ENABLE_FAST_MATH "Enable fast math optimizations" OFF)
|
||||||
|
|
||||||
|
if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") AND UNIX))
|
||||||
|
option(GLM_TEST_ENABLE_CXX_98 "Enable C++ 98" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_CXX_0X "Enable C++ 0x" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_CXX_11 "Enable C++ 11" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_CXX_1Y "Enable C++ 1y" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_CXX_14 "Enable C++ 14" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_CXX_1Z "Enable C++ 1z" OFF)
|
||||||
|
|
||||||
|
if(GLM_TEST_ENABLE_CXX_1Z)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++1z")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=c++1Z")
|
||||||
|
elseif(GLM_TEST_ENABLE_CXX_14)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++14")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=c++14")
|
||||||
|
elseif(GLM_TEST_ENABLE_CXX_1Y)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++1y")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=c++1y")
|
||||||
|
elseif(GLM_TEST_ENABLE_CXX_11)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=c++11")
|
||||||
|
elseif(GLM_TEST_ENABLE_CXX_0X)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++0x")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=c++0x")
|
||||||
|
elseif(GLM_TEST_ENABLE_CXX_98)
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++98")
|
||||||
|
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||||
|
set(CMAKE_CXX_FLAGS "-std=c++98")
|
||||||
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||||
|
add_definitions(-Wno-long-long)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(GLM_TEST_ENABLE_LANG_EXTENSIONS "Enable language extensions" OFF)
|
||||||
|
|
||||||
|
if(GLM_TEST_ENABLE_LANG_EXTENSIONS)
|
||||||
|
if(GLM_TEST_ENABLE_FAST_MATH)
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
add_definitions(-ffast-math)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
add_definitions(/fp:fast)
|
||||||
|
endif()
|
||||||
|
elseif(NOT GLM_TEST_ENABLE_FAST_MATH)
|
||||||
|
if(MSVC)
|
||||||
|
add_definitions(/fp:precise)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") OR (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") AND WIN32))
|
||||||
|
add_definitions(/Za)
|
||||||
|
elseif(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU"))
|
||||||
|
add_definitions(-pedantic)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
option(GLM_TEST_ENABLE_SIMD_SSE2 "Enable SSE2 optimizations" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_SIMD_SSE3 "Enable SSE3 optimizations" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
|
||||||
|
option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
|
||||||
|
option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
|
||||||
|
|
||||||
|
if(GLM_TEST_FORCE_PURE)
|
||||||
|
add_definitions(-DGLM_FORCE_PURE)
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
add_definitions(-mfpmath=387)
|
||||||
|
endif()
|
||||||
|
message(STATUS "GLM: No SIMD instruction set")
|
||||||
|
elseif(GLM_TEST_ENABLE_SIMD_AVX2)
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"))
|
||||||
|
add_definitions(-mavx2)
|
||||||
|
elseif(GLM_USE_INTEL)
|
||||||
|
add_definitions(/QxAVX2)
|
||||||
|
elseif(MSVC)
|
||||||
|
add_definitions(/arch:AVX2)
|
||||||
|
endif()
|
||||||
|
message(STATUS "GLM: AVX2 instruction set")
|
||||||
|
elseif(GLM_TEST_ENABLE_SIMD_AVX)
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"))
|
||||||
|
add_definitions(-mavx)
|
||||||
|
elseif(GLM_USE_INTEL)
|
||||||
|
add_definitions(/QxAVX)
|
||||||
|
elseif(MSVC)
|
||||||
|
add_definitions(/arch:AVX)
|
||||||
|
endif()
|
||||||
|
message(STATUS "GLM: AVX instruction set")
|
||||||
|
elseif(GLM_TEST_ENABLE_SIMD_SSE3)
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"))
|
||||||
|
add_definitions(-msse3)
|
||||||
|
elseif(GLM_USE_INTEL)
|
||||||
|
add_definitions(/QxSSE3)
|
||||||
|
elseif(MSVC AND NOT CMAKE_CL_64)
|
||||||
|
add_definitions(/arch:SSE2) # VC doesn't support /arch:SSE3
|
||||||
|
endif()
|
||||||
|
message(STATUS "GLM: SSE3 instruction set")
|
||||||
|
elseif(GLM_TEST_ENABLE_SIMD_SSE2)
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"))
|
||||||
|
add_definitions(-msse2)
|
||||||
|
elseif(GLM_USE_INTEL)
|
||||||
|
add_definitions(/QxSSE2)
|
||||||
|
elseif(MSVC AND NOT CMAKE_CL_64)
|
||||||
|
add_definitions(/arch:SSE2)
|
||||||
|
endif()
|
||||||
|
message(STATUS "GLM: SSE2 instruction set")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
#add_definitions(-S)
|
||||||
|
#add_definitions(-s)
|
||||||
|
add_definitions(-O2)
|
||||||
|
|
||||||
|
#add_definitions(-fprofile-arcs -ftest-coverage) gcov
|
||||||
|
#ctest_enable_coverage()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
||||||
|
add_definitions(/FAs)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include_directories("${PROJECT_SOURCE_DIR}")
|
||||||
|
include_directories("${PROJECT_SOURCE_DIR}/test/external")
|
||||||
|
|
||||||
|
add_subdirectory(glm)
|
||||||
|
add_subdirectory(test)
|
||||||
|
|
||||||
|
set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
|
||||||
|
install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
|
||||||
|
write_basic_package_version_file(
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake"
|
||||||
|
VERSION ${GLM_VERSION}
|
||||||
|
COMPATIBILITY AnyNewerVersion
|
||||||
|
)
|
||||||
|
|
||||||
|
# build tree package config
|
||||||
|
configure_file(
|
||||||
|
cmake/glmBuildConfig.cmake.in
|
||||||
|
glmConfig.cmake
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
|
# install tree package config
|
||||||
|
configure_package_config_file(
|
||||||
|
cmake/glmConfig.cmake.in
|
||||||
|
${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake
|
||||||
|
INSTALL_DESTINATION ${GLM_INSTALL_CONFIGDIR}
|
||||||
|
PATH_VARS CMAKE_INSTALL_INCLUDEDIR
|
||||||
|
NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake"
|
||||||
|
DESTINATION ${GLM_INSTALL_CONFIGDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS "3.0")
|
||||||
|
add_library(glm INTERFACE)
|
||||||
|
target_include_directories(glm INTERFACE
|
||||||
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
)
|
||||||
|
install(TARGETS glm EXPORT glmTargets)
|
||||||
|
|
||||||
|
export(
|
||||||
|
EXPORT glmTargets
|
||||||
|
FILE "${CMAKE_CURRENT_BINARY_DIR}/glmTargets.cmake"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
EXPORT glmTargets FILE glmTargets.cmake
|
||||||
|
DESTINATION ${GLM_INSTALL_CONFIGDIR}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# build pkg-config file
|
||||||
|
configure_file(
|
||||||
|
"./cmake/glm.pc.in"
|
||||||
|
"glm.pc"
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
|
# install pkg-config file
|
||||||
|
install(
|
||||||
|
FILES "${CMAKE_CURRENT_BINARY_DIR}/glm.pc"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
|
||||||
|
)
|
||||||
|
|
||||||
|
export(PACKAGE glm)
|
||||||
7
thirdparty/glm/cmake/glm.pc.in
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
prefix=@CMAKE_INSTALL_PREFIX@
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: GLM
|
||||||
|
Description: OpenGL Mathematics
|
||||||
|
Version: @GLM_VERSION@
|
||||||
|
Cflags: -I${includedir}
|
||||||
6
thirdparty/glm/cmake/glmBuildConfig.cmake.in
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
set(GLM_VERSION "@GLM_VERSION@")
|
||||||
|
set(GLM_INCLUDE_DIRS "@CMAKE_CURRENT_SOURCE_DIR@")
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS "3.0")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
|
||||||
|
endif()
|
||||||
9
thirdparty/glm/cmake/glmConfig.cmake.in
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
set(GLM_VERSION "@GLM_VERSION@")
|
||||||
|
|
||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
set_and_check(GLM_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS "3.0")
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
|
||||||
|
endif()
|
||||||
54
thirdparty/glm/copying.txt
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
================================================================================
|
||||||
|
OpenGL Mathematics (GLM)
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
GLM can be distributed and/or modified under the terms of either
|
||||||
|
a) The Happy Bunny License, or b) the MIT License.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
The Happy Bunny License (Modified MIT License)
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Copyright (c) 2005 - 2016 G-Truc Creation
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
Restrictions: By making use of the Software for military purposes, you choose
|
||||||
|
to make a Bunny unhappy.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
The MIT License
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Copyright (c) 2005 - 2016 G-Truc Creation
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
66
thirdparty/glm/doc/api/a00001.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _features.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_features.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00001_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00001_source.html">_features.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
457
thirdparty/glm/doc/api/a00001_source.html
vendored
Normal file
@@ -0,0 +1,457 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _features.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_features.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00001.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// #define GLM_CXX98_EXCEPTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// #define GLM_CXX98_RTTI</span></div>
|
||||||
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> </div>
|
||||||
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// #define GLM_CXX11_RVALUE_REFERENCES</span></div>
|
||||||
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// Rvalue references - GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html</span></div>
|
||||||
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// GLM_CXX11_TRAILING_RETURN</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// Rvalue references for *this - GCC not supported</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm</span></div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Initialization of class objects by rvalues - GCC any</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// Non-static data member initializers - GCC 4.7</span></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm</span></div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// #define GLM_CXX11_VARIADIC_TEMPLATE</span></div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Variadic templates - GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// Extending variadic template template parameters - GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// #define GLM_CXX11_GENERALIZED_INITIALIZERS</span></div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// Initializer lists - GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm</span></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// #define GLM_CXX11_STATIC_ASSERT </span></div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// Static assertions - GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html</span></div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// auto-typed variables - GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// Multi-declarator auto - GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// Removal of auto as a storage-class specifier - GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm</span></div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// New function declarator syntax - GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm</span></div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// #define GLM_CXX11_LAMBDAS</span></div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// New wording for C++0x lambdas - GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">// #define GLM_CXX11_DECLTYPE</span></div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">// Declared type of an expression - GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// Right angle brackets - GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html</span></div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||||
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// Default template arguments for function templates DR226 GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226</span></div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// Solving the SFINAE problem for expressions DR339 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html</span></div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// #define GLM_CXX11_ALIAS_TEMPLATE</span></div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// Template aliases N2258 GCC 4.7</span></div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">// Extern templates N1987 Yes</span></div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm</span></div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">// #define GLM_CXX11_NULLPTR</span></div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// Null pointer constant N2431 GCC 4.6</span></div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// #define GLM_CXX11_STRONG_ENUMS</span></div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// Strongly-typed enums N2347 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// Forward declarations for enums N2764 GCC 4.6</span></div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// Generalized attributes N2761 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// Generalized constant expressions N2235 GCC 4.6</span></div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// Alignment support N2341 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||||
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// #define GLM_CXX11_DELEGATING_CONSTRUCTORS</span></div>
|
||||||
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">// Delegating constructors N1986 GCC 4.7</span></div>
|
||||||
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||||
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// Inheriting constructors N2540 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm</span></div>
|
||||||
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||||
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// #define GLM_CXX11_EXPLICIT_CONVERSIONS</span></div>
|
||||||
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// Explicit conversion operators N2437 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||||
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">// New character types N2249 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html</span></div>
|
||||||
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
|
||||||
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">// Unicode string literals N2442 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm</span></div>
|
||||||
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
|
||||||
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// Raw string literals N2442 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm</span></div>
|
||||||
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
|
||||||
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">// Universal character name literals N2170 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html</span></div>
|
||||||
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||||
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// #define GLM_CXX11_USER_LITERALS</span></div>
|
||||||
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// User-defined literals N2765 GCC 4.7</span></div>
|
||||||
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||||
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">// Standard Layout Types N2342 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm</span></div>
|
||||||
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||||
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// #define GLM_CXX11_DEFAULTED_FUNCTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// #define GLM_CXX11_DELETED_FUNCTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// Defaulted and deleted functions N2346 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm</span></div>
|
||||||
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
|
||||||
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// Extended friend declarations N1791 GCC 4.7</span></div>
|
||||||
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
|
||||||
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// Extending sizeof N2253 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html</span></div>
|
||||||
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
|
||||||
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// #define GLM_CXX11_INLINE_NAMESPACES</span></div>
|
||||||
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">// Inline namespaces N2535 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm</span></div>
|
||||||
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||||
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">// #define GLM_CXX11_UNRESTRICTED_UNIONS</span></div>
|
||||||
|
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">// Unrestricted unions N2544 GCC 4.6</span></div>
|
||||||
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||||
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS</span></div>
|
||||||
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">// Local and unnamed types as template arguments N2657 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm</span></div>
|
||||||
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
|
||||||
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">// #define GLM_CXX11_RANGE_FOR</span></div>
|
||||||
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">// Range-based for N2930 GCC 4.6</span></div>
|
||||||
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html</span></div>
|
||||||
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
|
||||||
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// #define GLM_CXX11_OVERRIDE_CONTROL</span></div>
|
||||||
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// Explicit virtual overrides N2928 N3206 N3272 GCC 4.7</span></div>
|
||||||
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm</span></div>
|
||||||
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm</span></div>
|
||||||
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm</span></div>
|
||||||
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
|
||||||
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">// Minimal support for garbage collection and reachability-based leak detection N2670 No</span></div>
|
||||||
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm</span></div>
|
||||||
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
|
||||||
|
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">// #define GLM_CXX11_NOEXCEPT</span></div>
|
||||||
|
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)</span></div>
|
||||||
|
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html</span></div>
|
||||||
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
|
||||||
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">// Defining move special member functions N3053 GCC 4.6</span></div>
|
||||||
|
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html</span></div>
|
||||||
|
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
|
||||||
|
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">// Sequence points N2239 Yes</span></div>
|
||||||
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html</span></div>
|
||||||
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||||
|
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// Atomic operations N2427 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html</span></div>
|
||||||
|
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
|
||||||
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// Strong Compare and Exchange N2748 GCC 4.5</span></div>
|
||||||
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html</span></div>
|
||||||
|
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||||
|
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// Bidirectional Fences N2752 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm</span></div>
|
||||||
|
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
|
||||||
|
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// Memory model N2429 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm</span></div>
|
||||||
|
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
|
||||||
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// Data-dependency ordering: atomics and memory model N2664 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm</span></div>
|
||||||
|
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
|
||||||
|
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">// Propagating exceptions N2179 GCC 4.4</span></div>
|
||||||
|
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html</span></div>
|
||||||
|
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||||
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// Abandoning a process and at_quick_exit N2440 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm</span></div>
|
||||||
|
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
|
||||||
|
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">// Allow atomics use in signal handlers N2547 Yes</span></div>
|
||||||
|
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm</span></div>
|
||||||
|
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
|
||||||
|
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// Thread-local storage N2659 GCC 4.8</span></div>
|
||||||
|
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm</span></div>
|
||||||
|
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
|
||||||
|
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">// Dynamic initialization and destruction with concurrency N2660 GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm</span></div>
|
||||||
|
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
|
||||||
|
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// __func__ predefined identifier N2340 GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm</span></div>
|
||||||
|
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
|
||||||
|
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">// C99 preprocessor N1653 GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm</span></div>
|
||||||
|
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
|
||||||
|
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">// long long N1811 GCC 4.3</span></div>
|
||||||
|
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
|
||||||
|
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// </span></div>
|
||||||
|
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// Extended integral types N1988 Yes</span></div>
|
||||||
|
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf</span></div>
|
||||||
|
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
|
||||||
|
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor">#if(GLM_COMPILER & GLM_COMPILER_GCC)</span></div>
|
||||||
|
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
|
||||||
|
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"># if(GLM_COMPILER >= GLM_COMPILER_GCC43)</span></div>
|
||||||
|
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"># define GLM_CXX11_STATIC_ASSERT</span></div>
|
||||||
|
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
|
||||||
|
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor">#elif(GLM_COMPILER & GLM_COMPILER_CLANG)</span></div>
|
||||||
|
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"># if(__has_feature(cxx_exceptions))</span></div>
|
||||||
|
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"># define GLM_CXX98_EXCEPTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div>
|
||||||
|
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor"># if(__has_feature(cxx_rtti))</span></div>
|
||||||
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor"># define GLM_CXX98_RTTI</span></div>
|
||||||
|
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div>
|
||||||
|
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor"># if(__has_feature(cxx_access_control_sfinae))</span></div>
|
||||||
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="preprocessor"># define GLM_CXX11_ACCESS_CONTROL_SFINAE</span></div>
|
||||||
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
|
||||||
|
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor"># if(__has_feature(cxx_alias_templates))</span></div>
|
||||||
|
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="preprocessor"># define GLM_CXX11_ALIAS_TEMPLATE</span></div>
|
||||||
|
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div>
|
||||||
|
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor"># if(__has_feature(cxx_alignas))</span></div>
|
||||||
|
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor"># define GLM_CXX11_ALIGNAS</span></div>
|
||||||
|
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
|
||||||
|
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor"># if(__has_feature(cxx_attributes))</span></div>
|
||||||
|
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor"># define GLM_CXX11_ATTRIBUTES</span></div>
|
||||||
|
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
|
||||||
|
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor"># if(__has_feature(cxx_constexpr))</span></div>
|
||||||
|
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor"># define GLM_CXX11_CONSTEXPR</span></div>
|
||||||
|
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
|
||||||
|
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="preprocessor"># if(__has_feature(cxx_decltype))</span></div>
|
||||||
|
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="preprocessor"># define GLM_CXX11_DECLTYPE</span></div>
|
||||||
|
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div>
|
||||||
|
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="preprocessor"># if(__has_feature(cxx_default_function_template_args))</span></div>
|
||||||
|
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="preprocessor"># define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS</span></div>
|
||||||
|
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div>
|
||||||
|
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor"># if(__has_feature(cxx_defaulted_functions))</span></div>
|
||||||
|
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor"># define GLM_CXX11_DEFAULTED_FUNCTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
|
||||||
|
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor"># if(__has_feature(cxx_delegating_constructors))</span></div>
|
||||||
|
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor"># define GLM_CXX11_DELEGATING_CONSTRUCTORS</span></div>
|
||||||
|
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
|
||||||
|
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"># if(__has_feature(cxx_deleted_functions))</span></div>
|
||||||
|
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor"># define GLM_CXX11_DELETED_FUNCTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
|
||||||
|
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"># if(__has_feature(cxx_explicit_conversions))</span></div>
|
||||||
|
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"># define GLM_CXX11_EXPLICIT_CONVERSIONS</span></div>
|
||||||
|
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div>
|
||||||
|
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"># if(__has_feature(cxx_generalized_initializers))</span></div>
|
||||||
|
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor"># define GLM_CXX11_GENERALIZED_INITIALIZERS</span></div>
|
||||||
|
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
|
||||||
|
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor"># if(__has_feature(cxx_implicit_moves))</span></div>
|
||||||
|
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor"># define GLM_CXX11_IMPLICIT_MOVES</span></div>
|
||||||
|
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
|
||||||
|
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor"># if(__has_feature(cxx_inheriting_constructors))</span></div>
|
||||||
|
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor"># define GLM_CXX11_INHERITING_CONSTRUCTORS</span></div>
|
||||||
|
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> </div>
|
||||||
|
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"># if(__has_feature(cxx_inline_namespaces))</span></div>
|
||||||
|
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"># define GLM_CXX11_INLINE_NAMESPACES</span></div>
|
||||||
|
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div>
|
||||||
|
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"># if(__has_feature(cxx_lambdas))</span></div>
|
||||||
|
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="preprocessor"># define GLM_CXX11_LAMBDAS</span></div>
|
||||||
|
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
|
||||||
|
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="preprocessor"># if(__has_feature(cxx_local_type_template_args))</span></div>
|
||||||
|
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor"># define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS</span></div>
|
||||||
|
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
|
||||||
|
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"># if(__has_feature(cxx_noexcept))</span></div>
|
||||||
|
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor"># define GLM_CXX11_NOEXCEPT</span></div>
|
||||||
|
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div>
|
||||||
|
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="preprocessor"># if(__has_feature(cxx_nonstatic_member_init))</span></div>
|
||||||
|
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="preprocessor"># define GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
|
||||||
|
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
|
||||||
|
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="preprocessor"># if(__has_feature(cxx_nullptr))</span></div>
|
||||||
|
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="preprocessor"># define GLM_CXX11_NULLPTR</span></div>
|
||||||
|
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div>
|
||||||
|
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor"># if(__has_feature(cxx_override_control))</span></div>
|
||||||
|
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"># define GLM_CXX11_OVERRIDE_CONTROL</span></div>
|
||||||
|
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
|
||||||
|
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor"># if(__has_feature(cxx_reference_qualified_functions))</span></div>
|
||||||
|
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="preprocessor"># define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS</span></div>
|
||||||
|
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div>
|
||||||
|
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor"># if(__has_feature(cxx_range_for))</span></div>
|
||||||
|
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="preprocessor"># define GLM_CXX11_RANGE_FOR</span></div>
|
||||||
|
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div>
|
||||||
|
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"># if(__has_feature(cxx_raw_string_literals))</span></div>
|
||||||
|
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"># define GLM_CXX11_RAW_STRING_LITERALS</span></div>
|
||||||
|
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
|
||||||
|
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"># if(__has_feature(cxx_rvalue_references))</span></div>
|
||||||
|
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"># define GLM_CXX11_RVALUE_REFERENCES</span></div>
|
||||||
|
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
|
||||||
|
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"># if(__has_feature(cxx_static_assert))</span></div>
|
||||||
|
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor"># define GLM_CXX11_STATIC_ASSERT</span></div>
|
||||||
|
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
|
||||||
|
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"># if(__has_feature(cxx_auto_type))</span></div>
|
||||||
|
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor"># define GLM_CXX11_AUTO_TYPE</span></div>
|
||||||
|
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div>
|
||||||
|
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor"># if(__has_feature(cxx_strong_enums))</span></div>
|
||||||
|
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"># define GLM_CXX11_STRONG_ENUMS</span></div>
|
||||||
|
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div>
|
||||||
|
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"># if(__has_feature(cxx_trailing_return))</span></div>
|
||||||
|
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor"># define GLM_CXX11_TRAILING_RETURN</span></div>
|
||||||
|
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
|
||||||
|
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor"># if(__has_feature(cxx_unicode_literals))</span></div>
|
||||||
|
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="preprocessor"># define GLM_CXX11_UNICODE_LITERALS</span></div>
|
||||||
|
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div>
|
||||||
|
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"># if(__has_feature(cxx_unrestricted_unions))</span></div>
|
||||||
|
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"># define GLM_CXX11_UNRESTRICTED_UNIONS</span></div>
|
||||||
|
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div>
|
||||||
|
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"># if(__has_feature(cxx_user_literals))</span></div>
|
||||||
|
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor"># define GLM_CXX11_USER_LITERALS</span></div>
|
||||||
|
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div>
|
||||||
|
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"># if(__has_feature(cxx_variadic_templates))</span></div>
|
||||||
|
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"># define GLM_CXX11_VARIADIC_TEMPLATES</span></div>
|
||||||
|
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
|
||||||
|
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor">#endif//(GLM_COMPILER & GLM_COMPILER_CLANG)</span></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
66
thirdparty/glm/doc/api/a00002.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _fixes.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_fixes.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00002_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00002_source.html">_fixes.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
83
thirdparty/glm/doc/api/a00002_source.html
vendored
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _fixes.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_fixes.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00002.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <cmath></span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#ifdef max</span></div>
|
||||||
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#undef max</span></div>
|
||||||
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||||
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifdef min</span></div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#undef min</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifdef isnan</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#undef isnan</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#ifdef isinf</span></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#undef isinf</span></div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef log2</span></div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#undef log2</span></div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
66
thirdparty/glm/doc/api/a00003.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _noise.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_noise.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00003_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00003_source.html">_noise.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
167
thirdparty/glm/doc/api/a00003_source.html
vendored
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _noise.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_noise.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00003.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "../vec2.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "../vec4.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "../common.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||||
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
|
||||||
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">namespace </span>detail</div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> {</div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  GLM_FUNC_QUALIFIER T mod289(T <span class="keyword">const</span> & x)</div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  {</div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keywordflow">return</span> x - <a class="code" href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">floor</a>(x * static_cast<T>(1.0) / static_cast<T>(289.0)) * <span class="keyword">static_cast<</span>T<span class="keyword">></span>(289.0);</div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  }</div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  GLM_FUNC_QUALIFIER T permute(T <span class="keyword">const</span> & x)</div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  {</div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  GLM_FUNC_QUALIFIER tvec2<T, P> permute(tvec2<T, P> <span class="keyword">const</span> & x)</div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  GLM_FUNC_QUALIFIER tvec3<T, P> permute(tvec3<T, P> <span class="keyword">const</span> & x)</div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  {</div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  }</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  GLM_FUNC_QUALIFIER tvec4<T, P> permute(tvec4<T, P> <span class="keyword">const</span> & x)</div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  {</div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">/*</span></div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment"> template <typename T, precision P, template<typename> class vecType></span></div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> GLM_FUNC_QUALIFIER vecType<T, P> permute(vecType<T, P> const & x)</span></div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> {</span></div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> return mod289(((x * T(34)) + T(1)) * x);</span></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> }</span></div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">*/</span></div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  GLM_FUNC_QUALIFIER T taylorInvSqrt(T <span class="keyword">const</span> & r)</div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  GLM_FUNC_QUALIFIER tvec2<T, P> taylorInvSqrt(tvec2<T, P> <span class="keyword">const</span> & r)</div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  GLM_FUNC_QUALIFIER tvec3<T, P> taylorInvSqrt(tvec3<T, P> <span class="keyword">const</span> & r)</div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  </div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  GLM_FUNC_QUALIFIER tvec4<T, P> taylorInvSqrt(tvec4<T, P> <span class="keyword">const</span> & r)</div>
|
||||||
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">/*</span></div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> template <typename T, precision P, template<typename> class vecType></span></div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment"> GLM_FUNC_QUALIFIER vecType<T, P> taylorInvSqrt(vecType<T, P> const & r)</span></div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment"> {</span></div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> return T(1.79284291400159) - T(0.85373472095314) * r;</span></div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> }</span></div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">*/</span></div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  GLM_FUNC_QUALIFIER tvec2<T, P> fade(tvec2<T, P> <span class="keyword">const</span> & t)</div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  </div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  GLM_FUNC_QUALIFIER tvec3<T, P> fade(tvec3<T, P> <span class="keyword">const</span> & t)</div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  GLM_FUNC_QUALIFIER tvec4<T, P> fade(tvec4<T, P> <span class="keyword">const</span> & t)</div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div>
|
||||||
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">/*</span></div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> template <typename T, precision P, template <typename> class vecType></span></div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> GLM_FUNC_QUALIFIER vecType<T, P> fade(vecType<T, P> const & t)</span></div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> {</span></div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</span></div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"> }</span></div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment">*/</span></div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }<span class="comment">//namespace detail</span></div>
|
||||||
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00146_html_ga568b822b78f045f77c3325e165b44d5d"><div class="ttname"><a href="a00146.html#ga568b822b78f045f77c3325e165b44d5d">glm::floor</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > floor(vecType< T, P > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is less then or equal to x. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
66
thirdparty/glm/doc/api/a00004.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _swizzle.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_swizzle.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00004_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00004_source.html">_swizzle.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
857
thirdparty/glm/doc/api/a00004_source.html
vendored
Normal file
@@ -0,0 +1,857 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _swizzle.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_swizzle.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00004.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
|
||||||
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="keyword">namespace </span>detail</div>
|
||||||
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> {</div>
|
||||||
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  <span class="comment">// Internal class for implementing swizzle operators</span></div>
|
||||||
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, <span class="keywordtype">int</span> N></div>
|
||||||
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keyword">struct </span>_swizzle_base0</div>
|
||||||
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  {</div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <span class="keyword">protected</span>:</div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  GLM_FUNC_QUALIFIER T& elem(<span class="keywordtype">size_t</span> i){ <span class="keywordflow">return</span> (reinterpret_cast<T*>(_buffer))[i]; }</div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  GLM_FUNC_QUALIFIER T <span class="keyword">const</span>& elem(<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span>{ <span class="keywordflow">return</span> (reinterpret_cast<const T*>(_buffer))[i]; }</div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="comment">// Use an opaque buffer to *ensure* the compiler doesn't call a constructor.</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="comment">// The size 1 buffer is assumed to aligned to the actual members so that the</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="comment">// elem() </span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordtype">char</span> _buffer[1];</div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  };</div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keyword">template</span> <<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">bool</span> Aligned></div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keyword">struct </span>_swizzle_base1 : <span class="keyword">public</span> _swizzle_base0<T, N></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  };</div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">bool</span> Aligned></div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">struct </span>_swizzle_base1<2, T, P, vecType, E0,E1,-1,-2, Aligned> : <span class="keyword">public</span> _swizzle_base0<T, 2></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  GLM_FUNC_QUALIFIER vecType<T, P> operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vecType<T, P>(this->elem(E0), this->elem(E1)); }</div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  };</div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">bool</span> Aligned></div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">struct </span>_swizzle_base1<3, T, P, vecType, E0,E1,E2,-1, Aligned> : <span class="keyword">public</span> _swizzle_base0<T, 3></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GLM_FUNC_QUALIFIER vecType<T, P> operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vecType<T, P>(this->elem(E0), this->elem(E1), this->elem(E2)); }</div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  };</div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">bool</span> Aligned></div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">struct </span>_swizzle_base1<4, T, P, vecType, E0,E1,E2,E3, Aligned> : <span class="keyword">public</span> _swizzle_base0<T, 4></div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  { </div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  GLM_FUNC_QUALIFIER vecType<T, P> operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vecType<T, P>(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }</div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  };</div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Internal class for implementing swizzle operators</span></div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="comment">/*</span></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Template parameters:</span></div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span></div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> ValueType = type of scalar values (e.g. float, double)</span></div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> VecType = class the swizzle is applies to (e.g. tvec3<float>)</span></div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> N = number of components in the vector (e.g. 3)</span></div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec</span></div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"></span></div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles</span></div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> containing duplicate elements so that they cannot be used as r-values). </span></div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment"> */</span></div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span> <<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">int</span> DUPLICATE_ELEMENTS></div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">struct </span>_swizzle_base2 : <span class="keyword">public</span> _swizzle_base1<N, T, P, vecType, E0,E1,E2,E3, detail::is_aligned<P>::value></div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (<span class="keyword">const</span> T& t)</div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; ++i)</div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  (*<span class="keyword">this</span>)[i] = t;</div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vecType<T, P> <span class="keyword">const</span>& that)</div>
|
||||||
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div>
|
||||||
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">struct </span>op { </div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e = t; } </div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  };</div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  _apply_op(that, op());</div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  }</div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator -= (vecType<T, P> <span class="keyword">const</span>& that)</div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">struct </span>op { </div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e -= t; } </div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  };</div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  _apply_op(that, op());</div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator += (vecType<T, P> <span class="keyword">const</span>& that)</div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">struct </span>op { </div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e += t; } </div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  };</div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  _apply_op(that, op());</div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator *= (vecType<T, P> <span class="keyword">const</span>& that)</div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">struct </span>op { </div>
|
||||||
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e *= t; } </div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  };</div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  _apply_op(that, op());</div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator /= (vecType<T, P> <span class="keyword">const</span>& that)</div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">struct </span>op { </div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e /= t; } </div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  };</div>
|
||||||
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  _apply_op(that, op());</div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
|
||||||
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||||
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  GLM_FUNC_QUALIFIER T& operator[](<span class="keywordtype">size_t</span> i)</div>
|
||||||
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div>
|
||||||
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> this->elem(offset_dst[i]);</div>
|
||||||
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div>
|
||||||
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  GLM_FUNC_QUALIFIER T operator[](<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
|
||||||
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword"> </span>{</div>
|
||||||
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
|
||||||
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> this->elem(offset_dst[i]);</div>
|
||||||
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
|
||||||
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">protected</span>:</div>
|
||||||
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> U></div>
|
||||||
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> _apply_op(vecType<T, P> <span class="keyword">const</span>& that, U op)</div>
|
||||||
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  {</div>
|
||||||
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Make a copy of the data in this == &that.</span></div>
|
||||||
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="comment">// The copier should optimize out the copy in cases where the function is</span></div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="comment">// properly inlined and the copy is not necessary.</span></div>
|
||||||
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  T t[N];</div>
|
||||||
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; ++i)</div>
|
||||||
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  t[i] = that[i];</div>
|
||||||
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; ++i)</div>
|
||||||
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  op( (*<span class="keyword">this</span>)[i], t[i] );</div>
|
||||||
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div>
|
||||||
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  };</div>
|
||||||
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||||
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// Specialization for swizzles containing duplicate elements. These cannot be modified.</span></div>
|
||||||
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">template</span> <<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3></div>
|
||||||
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">struct </span>_swizzle_base2<N, T, P, vecType, E0,E1,E2,E3, 1> : <span class="keyword">public</span> _swizzle_base1<N, T, P, vecType, E0,E1,E2,E3, detail::is_aligned<P>::value></div>
|
||||||
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div>
|
||||||
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">struct </span>Stub {};</div>
|
||||||
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||||
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub <span class="keyword">const</span> &) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
|
||||||
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div>
|
||||||
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  GLM_FUNC_QUALIFIER T operator[] (<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
|
||||||
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword"> </span>{</div>
|
||||||
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
|
||||||
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> this->elem(offset_dst[i]);</div>
|
||||||
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
||||||
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  };</div>
|
||||||
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
|
||||||
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keyword">template</span> <<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3></div>
|
||||||
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keyword">struct </span>_swizzle : <span class="keyword">public</span> _swizzle_base2<N, T, P, vecType, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)></div>
|
||||||
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div>
|
||||||
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">typedef</span> _swizzle_base2<N, T, P, vecType, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)> base_type;</div>
|
||||||
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
|
||||||
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">using</span> base_type::operator=;</div>
|
||||||
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
|
||||||
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  GLM_FUNC_QUALIFIER <span class="keyword">operator</span> vecType<T, P> () <span class="keyword">const</span> { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)(); }</div>
|
||||||
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  };</div>
|
||||||
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
|
||||||
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// To prevent the C++ syntax from getting entirely overwhelming, define some alias macros</span></div>
|
||||||
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor">#define _GLM_SWIZZLE_TEMPLATE1 template <int N, typename T, precision P, template <typename, precision> class vecType, int E0, int E1, int E2, int E3></span></div>
|
||||||
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#define _GLM_SWIZZLE_TEMPLATE2 template <int N, typename T, precision P, template <typename, precision> class vecType, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3></span></div>
|
||||||
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor">#define _GLM_SWIZZLE_TYPE1 _swizzle<N, T, P, vecType, E0, E1, E2, E3></span></div>
|
||||||
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor">#define _GLM_SWIZZLE_TYPE2 _swizzle<N, T, P, vecType, F0, F1, F2, F3></span></div>
|
||||||
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
|
||||||
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">// Wrapper for a binary operator (e.g. u.yy + v.zy)</span></div>
|
||||||
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor">#define _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \</span></div>
|
||||||
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE2 \</span></div>
|
||||||
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vecType<T, P> operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"> return a() OPERAND b(); \</span></div>
|
||||||
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vecType<T, P> operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const vecType<T, P>& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"> return a() OPERAND b; \</span></div>
|
||||||
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vecType<T, P> operator OPERAND ( const vecType<T, P>& a, const _GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> return a OPERAND b(); \</span></div>
|
||||||
|
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
|
||||||
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">// Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)</span></div>
|
||||||
|
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#define _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \</span></div>
|
||||||
|
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vecType<T, P> operator OPERAND ( const _GLM_SWIZZLE_TYPE1& a, const T& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor"> return a() OPERAND b; \</span></div>
|
||||||
|
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vecType<T, P> operator OPERAND ( const T& a, const _GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor"> return a OPERAND b(); \</span></div>
|
||||||
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div>
|
||||||
|
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// Macro for wrapping a function taking one argument (e.g. abs())</span></div>
|
||||||
|
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \</span></div>
|
||||||
|
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a) \</span></div>
|
||||||
|
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> return FUNCTION(a()); \</span></div>
|
||||||
|
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div>
|
||||||
|
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// Macro for wrapping a function taking two vector arguments (e.g. dot()).</span></div>
|
||||||
|
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \</span></div>
|
||||||
|
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE2 \</span></div>
|
||||||
|
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"> return FUNCTION(a(), b()); \</span></div>
|
||||||
|
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor"> return FUNCTION(a(), b()); \</span></div>
|
||||||
|
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename V& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor"> return FUNCTION(a(), b); \</span></div>
|
||||||
|
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const _GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||||
|
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> return FUNCTION(a, b()); \</span></div>
|
||||||
|
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"> } </span></div>
|
||||||
|
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
|
||||||
|
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).</span></div>
|
||||||
|
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor">#define _GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \</span></div>
|
||||||
|
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE2 \</span></div>
|
||||||
|
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE2& b, const T& c) \</span></div>
|
||||||
|
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> return FUNCTION(a(), b(), c); \</span></div>
|
||||||
|
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \</span></div>
|
||||||
|
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor"> return FUNCTION(a(), b(), c); \</span></div>
|
||||||
|
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const _GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\</span></div>
|
||||||
|
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> return FUNCTION(a(), b, c); \</span></div>
|
||||||
|
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"> } \</span></div>
|
||||||
|
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"> _GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||||
|
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename _GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const _GLM_SWIZZLE_TYPE1& b, const T& c) \</span></div>
|
||||||
|
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"> return FUNCTION(a, b(), c); \</span></div>
|
||||||
|
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"> } </span></div>
|
||||||
|
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  </div>
|
||||||
|
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }<span class="comment">//namespace detail </span></div>
|
||||||
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div>
|
||||||
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> {</div>
|
||||||
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keyword">namespace </span>detail</div>
|
||||||
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  {</div>
|
||||||
|
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)</div>
|
||||||
|
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  _GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)</div>
|
||||||
|
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)</div>
|
||||||
|
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)</div>
|
||||||
|
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)</div>
|
||||||
|
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  _GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)</div>
|
||||||
|
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div>
|
||||||
|
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
|
||||||
|
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">// Swizzles are distinct types from the unswizzled type. The below macros will</span></div>
|
||||||
|
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="comment">// provide template specializations for the swizzle types for the given functions</span></div>
|
||||||
|
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="comment">// so that the compiler does not have any ambiguity to choosing how to handle</span></div>
|
||||||
|
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">// the function.</span></div>
|
||||||
|
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="comment">// The alternative is to use the operator()() when calling the function in order</span></div>
|
||||||
|
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="comment">// to explicitly convert the swizzled type to the unswizzled type.</span></div>
|
||||||
|
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">//</span></div>
|
||||||
|
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
|
||||||
|
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);</span></div>
|
||||||
|
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);</span></div>
|
||||||
|
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);</span></div>
|
||||||
|
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);</span></div>
|
||||||
|
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);</span></div>
|
||||||
|
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div>
|
||||||
|
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);</span></div>
|
||||||
|
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);</span></div>
|
||||||
|
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step); </span></div>
|
||||||
|
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="comment">//_GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);</span></div>
|
||||||
|
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> }</div>
|
||||||
|
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div>
|
||||||
|
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor">#define _GLM_SWIZZLE2_2_MEMBERS(T, P, V, E0,E1) \</span></div>
|
||||||
|
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, P, V, 0,0,-1,-2> E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, P, V, 0,1,-1,-2> E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, P, V, 1,0,-1,-2> E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, P, V, 1,1,-1,-2> E1 ## E1; }; </span></div>
|
||||||
|
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div>
|
||||||
|
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor">#define _GLM_SWIZZLE2_3_MEMBERS(T, P, V, E0,E1) \</span></div>
|
||||||
|
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 0,0,0,-1> E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 0,0,1,-1> E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 0,1,0,-1> E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 0,1,1,-1> E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 1,0,0,-1> E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 1,0,1,-1> E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 1,1,0,-1> E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, P, V, 1,1,1,-1> E1 ## E1 ## E1; }; </span></div>
|
||||||
|
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
|
||||||
|
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor">#define _GLM_SWIZZLE2_4_MEMBERS(T, P, V, E0,E1) \</span></div>
|
||||||
|
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,1,1> E1 ## E1 ## E1 ## E1; };</span></div>
|
||||||
|
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
|
||||||
|
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="preprocessor">#define _GLM_SWIZZLE3_2_MEMBERS(T, P, V, E0,E1,E2) \</span></div>
|
||||||
|
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,0,-1,-2> E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,1,-1,-2> E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,2,-1,-2> E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,0,-1,-2> E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,1,-1,-2> E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,2,-1,-2> E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,0,-1,-2> E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,1,-1,-2> E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,2,-1,-2> E2 ## E2; };</span></div>
|
||||||
|
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
|
||||||
|
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor">#define _GLM_SWIZZLE3_3_MEMBERS(T, P, V ,E0,E1,E2) \</span></div>
|
||||||
|
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,0,-1> E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,1,-1> E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,2,-1> E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,0,-1> E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,1,-1> E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,2,-1> E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,0,-1> E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,1,-1> E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,2,-1> E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,0,-1> E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,1,-1> E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,2,-1> E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,0,-1> E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,1,-1> E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,2,-1> E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,0,-1> E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,1,-1> E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,2,-1> E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,0,-1> E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,1,-1> E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,2,-1> E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,0,-1> E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,1,-1> E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,2,-1> E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,0,-1> E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,1,-1> E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,2,-1> E2 ## E2 ## E2; };</span></div>
|
||||||
|
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div>
|
||||||
|
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor">#define _GLM_SWIZZLE3_4_MEMBERS(T, P, V, E0,E1,E2) \</span></div>
|
||||||
|
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, P, V, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; </span></div>
|
||||||
|
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
|
||||||
|
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor">#define _GLM_SWIZZLE4_2_MEMBERS(T, P, V, E0,E1,E2,E3) \</span></div>
|
||||||
|
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,0,-1,-2> E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,1,-1,-2> E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,2,-1,-2> E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 0,3,-1,-2> E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,0,-1,-2> E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,1,-1,-2> E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,2,-1,-2> E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 1,3,-1,-2> E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,0,-1,-2> E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,1,-1,-2> E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,2,-1,-2> E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 2,3,-1,-2> E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 3,0,-1,-2> E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 3,1,-1,-2> E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 3,2,-1,-2> E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, P, V, 3,3,-1,-2> E3 ## E3; }; </span></div>
|
||||||
|
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
|
||||||
|
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="preprocessor">#define _GLM_SWIZZLE4_3_MEMBERS(T, P, V, E0,E1,E2,E3) \</span></div>
|
||||||
|
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,0,-1> E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,1,-1> E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,2,-1> E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,0,3,-1> E0 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,0,-1> E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,1,-1> E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,2,-1> E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,1,3,-1> E0 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,0,-1> E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,1,-1> E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,2,-1> E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,2,3,-1> E0 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,3,0,-1> E0 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,3,1,-1> E0 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,3,2,-1> E0 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 0,3,3,-1> E0 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,0,-1> E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,1,-1> E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,2,-1> E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,0,3,-1> E1 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,0,-1> E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,1,-1> E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,2,-1> E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,1,3,-1> E1 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,0,-1> E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,1,-1> E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,2,-1> E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,2,3,-1> E1 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,3,0,-1> E1 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,3,1,-1> E1 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,3,2,-1> E1 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 1,3,3,-1> E1 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,0,-1> E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,1,-1> E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,2,-1> E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,0,3,-1> E2 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,0,-1> E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,1,-1> E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,2,-1> E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,1,3,-1> E2 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,0,-1> E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,1,-1> E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,2,-1> E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,2,3,-1> E2 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,3,0,-1> E2 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,3,1,-1> E2 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,3,2,-1> E2 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 2,3,3,-1> E2 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,0,0,-1> E3 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,0,1,-1> E3 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,0,2,-1> E3 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,0,3,-1> E3 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,1,0,-1> E3 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,1,1,-1> E3 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,1,2,-1> E3 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,1,3,-1> E3 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,2,0,-1> E3 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,2,1,-1> E3 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,2,2,-1> E3 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,2,3,-1> E3 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,3,0,-1> E3 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,3,1,-1> E3 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,3,2,-1> E3 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, P, V, 3,3,3,-1> E3 ## E3 ## E3; }; </span></div>
|
||||||
|
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> </div>
|
||||||
|
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor">#define _GLM_SWIZZLE4_4_MEMBERS(T, P, V, E0,E1,E2,E3) \</span></div>
|
||||||
|
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \</span></div>
|
||||||
|
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, P, V, 3,3,3,3> E3 ## E3 ## E3 ## E3; };</span></div>
|
||||||
|
<div class="ttc" id="a00162_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00162.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant. </div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
66
thirdparty/glm/doc/api/a00005.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _swizzle_func.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_swizzle_func.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00005_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00005_source.html">_swizzle_func.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
754
thirdparty/glm/doc/api/a00005_source.html
vendored
Normal file
@@ -0,0 +1,754 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _swizzle_func.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_swizzle_func.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00005.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor"> SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B() CONST \</span></div>
|
||||||
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor"> return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \</span></div>
|
||||||
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div>
|
||||||
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"> SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C() CONST \</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"> return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \</span></div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"> SWIZZLED_TYPE<TMPL_TYPE, PRECISION> A ## B ## C ## D() CONST \</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"> return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \</span></div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"> template <typename TMPL_TYPE> \</span></div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"> SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B() CONST \</span></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"> return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B); \</span></div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"> template <typename TMPL_TYPE> \</span></div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"> SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C() CONST \</span></div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"> return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C); \</span></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, CONST, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"> template <typename TMPL_TYPE> \</span></div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"> SWIZZLED_TYPE<TMPL_TYPE> CLASS_TYPE<TMPL_TYPE, PRECISION>::A ## B ## C ## D() CONST \</span></div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"> { \</span></div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"> return SWIZZLED_TYPE<TMPL_TYPE, PRECISION>(this->A, this->B, this->C, this->D); \</span></div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"> }</span></div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define GLM_MUTABLE</span></div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A)</span></div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE) \</span></div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, x, y) \</span></div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, r, g) \</span></div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, s, t)</span></div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC2(valType, detail::vec2, detail::ref2)</span></div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B)</span></div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B, A)</span></div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C)</span></div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE) \</span></div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, x, y, z) \</span></div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, r, g, b) \</span></div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, s, t, p)</span></div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC3(valType, detail::vec3, detail::ref2, detail::ref3)</span></div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, GLM_MUTABLE, D, C)</span></div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B)</span></div>
|
||||||
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
|
||||||
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, D, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , B, A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , C, A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, , D, B, C, A)</span></div>
|
||||||
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
|
||||||
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)</span></div>
|
||||||
|
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
|
||||||
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
|
||||||
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \</span></div>
|
||||||
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \</span></div>
|
||||||
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)</span></div>
|
||||||
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div>
|
||||||
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">//GLM_SWIZZLE_GEN_REF_FROM_VEC4(valType, detail::vec4, detail::ref2, detail::ref3, detail::ref4)</span></div>
|
||||||
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
|
||||||
|
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B)</span></div>
|
||||||
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
|
||||||
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B)</span></div>
|
||||||
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div>
|
||||||
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B)</span></div>
|
||||||
|
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
|
||||||
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B)</span></div>
|
||||||
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
|
||||||
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
|
||||||
|
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y) \</span></div>
|
||||||
|
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g) \</span></div>
|
||||||
|
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t)</span></div>
|
||||||
|
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
|
||||||
|
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC2(valType, detail::vec2, detail::vec2, detail::vec3, detail::vec4)</span></div>
|
||||||
|
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div>
|
||||||
|
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C)</span></div>
|
||||||
|
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||||
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C)</span></div>
|
||||||
|
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
|
||||||
|
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C)</span></div>
|
||||||
|
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
|
||||||
|
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C)</span></div>
|
||||||
|
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
|
||||||
|
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
|
||||||
|
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z) \</span></div>
|
||||||
|
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b) \</span></div>
|
||||||
|
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p)</span></div>
|
||||||
|
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> </div>
|
||||||
|
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC3(valType, detail::vec3, detail::vec2, detail::vec3, detail::vec4)</span></div>
|
||||||
|
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
|
||||||
|
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D)</span></div>
|
||||||
|
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div>
|
||||||
|
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D)</span></div>
|
||||||
|
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
|
||||||
|
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, A, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, B, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, C, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, A, D, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, A, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, B, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, C, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, B, D, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, A, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, B, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, C, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, C, D, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, A, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, B, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, C, D, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, A, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, B, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, A) \</span></div>
|
||||||
|
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, B) \</span></div>
|
||||||
|
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, C) \</span></div>
|
||||||
|
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_TYPE, const, D, D, D, D)</span></div>
|
||||||
|
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
|
||||||
|
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC3_TYPE, A, B, C, D) \</span></div>
|
||||||
|
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC4_TYPE, A, B, C, D)</span></div>
|
||||||
|
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div>
|
||||||
|
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE) \</span></div>
|
||||||
|
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, x, y, z, w) \</span></div>
|
||||||
|
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, r, g, b, a) \</span></div>
|
||||||
|
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(TMPL_TYPE, PRECISION, CLASS_TYPE, SWIZZLED_VEC2_TYPE, SWIZZLED_VEC3_TYPE, SWIZZLED_VEC4_TYPE, s, t, p, q)</span></div>
|
||||||
|
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> </div>
|
||||||
|
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="comment">//GLM_SWIZZLE_GEN_VEC_FROM_VEC4(valType, detail::vec4, detail::vec2, detail::vec3, detail::vec4)</span></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
66
thirdparty/glm/doc/api/a00006.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _vectorize.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_vectorize.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00006_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00006_source.html">_vectorize.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
194
thirdparty/glm/doc/api/a00006_source.html
vendored
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: _vectorize.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_e529a619cfdec1fa4c331fb042fd332f.html">detail</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">_vectorize.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00006.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="a00128.html">type_vec1.hpp</a>"</span></div>
|
||||||
|
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "<a class="code" href="a00129.html">type_vec2.hpp</a>"</span></div>
|
||||||
|
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "<a class="code" href="a00130.html">type_vec3.hpp</a>"</span></div>
|
||||||
|
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "<a class="code" href="a00131.html">type_vec4.hpp</a>"</span></div>
|
||||||
|
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||||
|
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a>{</div>
|
||||||
|
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">namespace </span>detail</div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> {</div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keyword">struct </span>functor1{};</div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keyword">struct </span>functor1<R, T, P, tvec1></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  {</div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec1<R, P> call(R (*Func) (T x), tvec1<T, P> <span class="keyword">const</span> & v)</div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  {</div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keywordflow">return</span> tvec1<R, P>(Func(v.x));</div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  }</div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  };</div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">struct </span>functor1<R, T, P, tvec2></div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec2<R, P> call(R (*Func) (T x), tvec2<T, P> <span class="keyword">const</span> & v)</div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">return</span> tvec2<R, P>(Func(v.x), Func(v.y));</div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  }</div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  };</div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">struct </span>functor1<R, T, P, tvec3></div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  {</div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec3<R, P> call(R (*Func) (T x), tvec3<T, P> <span class="keyword">const</span> & v)</div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  {</div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> tvec3<R, P>(Func(v.x), Func(v.y), Func(v.z));</div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  };</div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">struct </span>functor1<R, T, P, tvec4></div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  {</div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec4<R, P> call(R (*Func) (T x), tvec4<T, P> <span class="keyword">const</span> & v)</div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> tvec4<R, P>(Func(v.x), Func(v.y), Func(v.z), Func(v.w));</div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  }</div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  };</div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">struct </span>functor2{};</div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">struct </span>functor2<T, P, tvec1></div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec1<T, P> call(T (*Func) (T x, T y), tvec1<T, P> <span class="keyword">const</span> & a, tvec1<T, P> <span class="keyword">const</span> & b)</div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> tvec1<T, P>(Func(a.x, b.x));</div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  };</div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">struct </span>functor2<T, P, tvec2></div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec2<T, P> call(T (*Func) (T x, T y), tvec2<T, P> <span class="keyword">const</span> & a, tvec2<T, P> <span class="keyword">const</span> & b)</div>
|
||||||
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div>
|
||||||
|
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span> tvec2<T, P>(Func(a.x, b.x), Func(a.y, b.y));</div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  };</div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">struct </span>functor2<T, P, tvec3></div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec3<T, P> call(T (*Func) (T x, T y), tvec3<T, P> <span class="keyword">const</span> & a, tvec3<T, P> <span class="keyword">const</span> & b)</div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> tvec3<T, P>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));</div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  };</div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">struct </span>functor2<T, P, tvec4></div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec4<T, P> call(T (*Func) (T x, T y), tvec4<T, P> <span class="keyword">const</span> & a, tvec4<T, P> <span class="keyword">const</span> & b)</div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> tvec4<T, P>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));</div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  };</div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">struct </span>functor2_vec_sca{};</div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">struct </span>functor2_vec_sca<T, P, tvec1></div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  {</div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec1<T, P> call(T (*Func) (T x, T y), tvec1<T, P> <span class="keyword">const</span> & a, T b)</div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> tvec1<T, P>(Func(a.x, b));</div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  };</div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">struct </span>functor2_vec_sca<T, P, tvec2></div>
|
||||||
|
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec2<T, P> call(T (*Func) (T x, T y), tvec2<T, P> <span class="keyword">const</span> & a, T b)</div>
|
||||||
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div>
|
||||||
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">return</span> tvec2<T, P>(Func(a.x, b), Func(a.y, b));</div>
|
||||||
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div>
|
||||||
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  };</div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||||
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">struct </span>functor2_vec_sca<T, P, tvec3></div>
|
||||||
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div>
|
||||||
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec3<T, P> call(T (*Func) (T x, T y), tvec3<T, P> <span class="keyword">const</span> & a, T b)</div>
|
||||||
|
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div>
|
||||||
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> tvec3<T, P>(Func(a.x, b), Func(a.y, b), Func(a.z, b));</div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||||
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  };</div>
|
||||||
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||||
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">struct </span>functor2_vec_sca<T, P, tvec4></div>
|
||||||
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div>
|
||||||
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> tvec4<T, P> call(T (*Func) (T x, T y), tvec4<T, P> <span class="keyword">const</span> & a, T b)</div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div>
|
||||||
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> tvec4<T, P>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));</div>
|
||||||
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div>
|
||||||
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  };</div>
|
||||||
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }<span class="comment">//namespace detail</span></div>
|
||||||
|
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="ttc" id="a00130_html"><div class="ttname"><a href="a00130.html">type_vec3.hpp</a></div><div class="ttdoc">GLM Core </div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00129_html"><div class="ttname"><a href="a00129.html">type_vec2.hpp</a></div><div class="ttdoc">GLM Core </div></div>
|
||||||
|
<div class="ttc" id="a00131_html"><div class="ttname"><a href="a00131.html">type_vec4.hpp</a></div><div class="ttdoc">GLM Core </div></div>
|
||||||
|
<div class="ttc" id="a00128_html"><div class="ttname"><a href="a00128.html">type_vec1.hpp</a></div><div class="ttdoc">GLM Core </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
141
thirdparty/glm/doc/api/a00007.html
vendored
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: associated_min_max.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">associated_min_max.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00007_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||||
|
<tr class="memitem:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga7d9c8785230c8db60f72ec8975f1ba45">associatedMax</a> (T x, U a, T y, U b)</td></tr>
|
||||||
|
<tr class="separator:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga10ba6001798f42a0f941f19ff30e066a"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga10ba6001798f42a0f941f19ff30e066a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga10ba6001798f42a0f941f19ff30e066a">associatedMax</a> (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)</td></tr>
|
||||||
|
<tr class="separator:ga10ba6001798f42a0f941f19ff30e066a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga62ca63cca6b21387b8a25474f441a869"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga62ca63cca6b21387b8a25474f441a869"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga62ca63cca6b21387b8a25474f441a869">associatedMax</a> (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b)</td></tr>
|
||||||
|
<tr class="separator:ga62ca63cca6b21387b8a25474f441a869"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5364520173815b66a9d9e452c38bf312"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga5364520173815b66a9d9e452c38bf312"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga5364520173815b66a9d9e452c38bf312">associatedMax</a> (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)</td></tr>
|
||||||
|
<tr class="separator:ga5364520173815b66a9d9e452c38bf312"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaec891e363d91abbf3a4443cf2f652209"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||||
|
<tr class="memitem:gaec891e363d91abbf3a4443cf2f652209"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gaec891e363d91abbf3a4443cf2f652209">associatedMax</a> (T x, U a, T y, U b, T z, U c)</td></tr>
|
||||||
|
<tr class="separator:gaec891e363d91abbf3a4443cf2f652209"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga065a0c1eb7837118ef79be88dfd78487"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga065a0c1eb7837118ef79be88dfd78487"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga065a0c1eb7837118ef79be88dfd78487">associatedMax</a> (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)</td></tr>
|
||||||
|
<tr class="separator:ga065a0c1eb7837118ef79be88dfd78487"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga553431a468e251623408603bcb51c9cb"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga553431a468e251623408603bcb51c9cb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga553431a468e251623408603bcb51c9cb">associatedMax</a> (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c)</td></tr>
|
||||||
|
<tr class="separator:ga553431a468e251623408603bcb51c9cb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga327136e6a568569c03a056f90814b656"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga327136e6a568569c03a056f90814b656"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga327136e6a568569c03a056f90814b656">associatedMax</a> (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c)</td></tr>
|
||||||
|
<tr class="separator:ga327136e6a568569c03a056f90814b656"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||||
|
<tr class="memitem:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga3038ffcb43eaa6af75897a99a5047ccc">associatedMax</a> (T x, U a, T y, U b, T z, U c, T w, U d)</td></tr>
|
||||||
|
<tr class="separator:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf607886421c35cd7e4f41a50d7c330e3"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gaf607886421c35cd7e4f41a50d7c330e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gaf607886421c35cd7e4f41a50d7c330e3">associatedMax</a> (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)</td></tr>
|
||||||
|
<tr class="separator:gaf607886421c35cd7e4f41a50d7c330e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga7a165de1af9a3f9193516a3b47407086"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga7a165de1af9a3f9193516a3b47407086"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga7a165de1af9a3f9193516a3b47407086">associatedMax</a> (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)</td></tr>
|
||||||
|
<tr class="separator:ga7a165de1af9a3f9193516a3b47407086"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga3122fbe8133ea54749b10fb93e8a167e"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga3122fbe8133ea54749b10fb93e8a167e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a> (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)</td></tr>
|
||||||
|
<tr class="separator:ga3122fbe8133ea54749b10fb93e8a167e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gacc01bd272359572fc28437ae214a02df"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gacc01bd272359572fc28437ae214a02df"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gacc01bd272359572fc28437ae214a02df">associatedMin</a> (T x, U a, T y, U b)</td></tr>
|
||||||
|
<tr class="separator:gacc01bd272359572fc28437ae214a02df"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga8b538d10872626668a078e2bd495af25"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga8b538d10872626668a078e2bd495af25"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga8b538d10872626668a078e2bd495af25">associatedMin</a> (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b)</td></tr>
|
||||||
|
<tr class="separator:ga8b538d10872626668a078e2bd495af25"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga1dccff48fa5650c746533de83467da6e"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga1dccff48fa5650c746533de83467da6e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga1dccff48fa5650c746533de83467da6e">associatedMin</a> (T x, const vecType< U, P > &a, T y, const vecType< U, P > &b)</td></tr>
|
||||||
|
<tr class="separator:ga1dccff48fa5650c746533de83467da6e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga076717f4e07c6ae725cc1382d1ac4869"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga076717f4e07c6ae725cc1382d1ac4869"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga076717f4e07c6ae725cc1382d1ac4869">associatedMin</a> (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b)</td></tr>
|
||||||
|
<tr class="separator:ga076717f4e07c6ae725cc1382d1ac4869"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad0aa8f86259a26d839d34a3577a923fc"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||||
|
<tr class="memitem:gad0aa8f86259a26d839d34a3577a923fc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gad0aa8f86259a26d839d34a3577a923fc">associatedMin</a> (T x, U a, T y, U b, T z, U c)</td></tr>
|
||||||
|
<tr class="separator:gad0aa8f86259a26d839d34a3577a923fc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5bc6b9acbf9e060d58a342fbe3b73d43"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga5bc6b9acbf9e060d58a342fbe3b73d43"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga5bc6b9acbf9e060d58a342fbe3b73d43">associatedMin</a> (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c)</td></tr>
|
||||||
|
<tr class="separator:ga5bc6b9acbf9e060d58a342fbe3b73d43"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||||
|
<tr class="memitem:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga432224ebe2085eaa2b63a077ecbbbff6">associatedMin</a> (T x, U a, T y, U b, T z, U c, T w, U d)</td></tr>
|
||||||
|
<tr class="separator:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga88e031f22b80215505928900d3dde549"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga88e031f22b80215505928900d3dde549"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga88e031f22b80215505928900d3dde549">associatedMin</a> (vecType< T, P > const &x, vecType< U, P > const &a, vecType< T, P > const &y, vecType< U, P > const &b, vecType< T, P > const &z, vecType< U, P > const &c, vecType< T, P > const &w, vecType< U, P > const &d)</td></tr>
|
||||||
|
<tr class="separator:ga88e031f22b80215505928900d3dde549"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga0f63b0dce5a5c3242cc6d9847e7d14f1"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga0f63b0dce5a5c3242cc6d9847e7d14f1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga0f63b0dce5a5c3242cc6d9847e7d14f1">associatedMin</a> (T x, vecType< U, P > const &a, T y, vecType< U, P > const &b, T z, vecType< U, P > const &c, T w, vecType< U, P > const &d)</td></tr>
|
||||||
|
<tr class="separator:ga0f63b0dce5a5c3242cc6d9847e7d14f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga00a949fd345f4b31b259f033d3ab4a1c"><td class="memTemplParams" colspan="2">template<typename T , typename U , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga00a949fd345f4b31b259f033d3ab4a1c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< U, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a> (vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)</td></tr>
|
||||||
|
<tr class="separator:ga00a949fd345f4b31b259f033d3ab4a1c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00181.html">GLM_GTX_associated_min_max</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||||
|
<dd>
|
||||||
|
<a class="el" href="a00192.html" title="Min and max functions for 3 to 4 parameters. ">GLM_GTX_extented_min_max</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00007_source.html">associated_min_max.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
207
thirdparty/glm/doc/api/a00007_source.html
vendored
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: associated_min_max.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">associated_min_max.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00007.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_associated_min_max extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  GLM_FUNC_DECL U <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(T x, U a, T y, U b);</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  GLM_FUNC_DECL tvec2<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  vecType<T, P> <span class="keyword">const</span> & x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  vecType<T, P> <span class="keyword">const</span> & y, vecType<U, P> <span class="keyword">const</span> & b);</div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  T x, <span class="keyword">const</span> vecType<U, P>& a,</div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  T y, <span class="keyword">const</span> vecType<U, P>& b);</div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  vecType<T, P> <span class="keyword">const</span> & x, U a,</div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  vecType<T, P> <span class="keyword">const</span> & y, U b);</div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  GLM_FUNC_DECL U <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  T x, U a,</div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  T y, U b,</div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  T z, U c);</div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  vecType<T, P> <span class="keyword">const</span> & x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  vecType<T, P> <span class="keyword">const</span> & y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  vecType<T, P> <span class="keyword">const</span> & z, vecType<U, P> <span class="keyword">const</span> & c);</div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  GLM_FUNC_DECL U <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  T x, U a,</div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  T y, U b,</div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  T z, U c,</div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  T w, U d);</div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  vecType<T, P> <span class="keyword">const</span> & x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  vecType<T, P> <span class="keyword">const</span> & y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  vecType<T, P> <span class="keyword">const</span> & z, vecType<U, P> <span class="keyword">const</span> & c,</div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  vecType<T, P> <span class="keyword">const</span> & w, vecType<U, P> <span class="keyword">const</span> & d);</div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  T x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  T y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  T z, vecType<U, P> <span class="keyword">const</span> & c,</div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  T w, vecType<U, P> <span class="keyword">const</span> & d);</div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">associatedMin</a>(</div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  vecType<T, P> <span class="keyword">const</span> & x, U a,</div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  vecType<T, P> <span class="keyword">const</span> & y, U b,</div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  vecType<T, P> <span class="keyword">const</span> & z, U c,</div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  vecType<T, P> <span class="keyword">const</span> & w, U d);</div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||||
|
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  GLM_FUNC_DECL U <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(T x, U a, T y, U b);</div>
|
||||||
|
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  GLM_FUNC_DECL tvec2<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  vecType<T, P> <span class="keyword">const</span> & x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  vecType<T, P> <span class="keyword">const</span> & y, vecType<U, P> <span class="keyword">const</span> & b);</div>
|
||||||
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  T x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  T y, vecType<U, P> <span class="keyword">const</span> & b);</div>
|
||||||
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  vecType<T, P> <span class="keyword">const</span> & x, U a,</div>
|
||||||
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  vecType<T, P> <span class="keyword">const</span> & y, U b);</div>
|
||||||
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||||
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||||
|
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  GLM_FUNC_DECL U <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  T x, U a,</div>
|
||||||
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  T y, U b,</div>
|
||||||
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  T z, U c);</div>
|
||||||
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div>
|
||||||
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  vecType<T, P> <span class="keyword">const</span> & x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  vecType<T, P> <span class="keyword">const</span> & y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  vecType<T, P> <span class="keyword">const</span> & z, vecType<U, P> <span class="keyword">const</span> & c);</div>
|
||||||
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
|
||||||
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  T x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  T y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  T z, vecType<U, P> <span class="keyword">const</span> & c);</div>
|
||||||
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
|
||||||
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  vecType<T, P> <span class="keyword">const</span> & x, U a,</div>
|
||||||
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  vecType<T, P> <span class="keyword">const</span> & y, U b,</div>
|
||||||
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  vecType<T, P> <span class="keyword">const</span> & z, U c);</div>
|
||||||
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
|
||||||
|
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||||
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  GLM_FUNC_DECL U <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  T x, U a,</div>
|
||||||
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  T y, U b,</div>
|
||||||
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  T z, U c,</div>
|
||||||
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  T w, U d);</div>
|
||||||
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
|
||||||
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  vecType<T, P> <span class="keyword">const</span> & x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  vecType<T, P> <span class="keyword">const</span> & y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  vecType<T, P> <span class="keyword">const</span> & z, vecType<U, P> <span class="keyword">const</span> & c,</div>
|
||||||
|
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  vecType<T, P> <span class="keyword">const</span> & w, vecType<U, P> <span class="keyword">const</span> & d);</div>
|
||||||
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div>
|
||||||
|
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  T x, vecType<U, P> <span class="keyword">const</span> & a,</div>
|
||||||
|
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  T y, vecType<U, P> <span class="keyword">const</span> & b,</div>
|
||||||
|
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  T z, vecType<U, P> <span class="keyword">const</span> & c,</div>
|
||||||
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  T w, vecType<U, P> <span class="keyword">const</span> & d);</div>
|
||||||
|
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
|
||||||
|
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  GLM_FUNC_DECL vecType<U, P> <a class="code" href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">associatedMax</a>(</div>
|
||||||
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  vecType<T, P> <span class="keyword">const</span> & x, U a,</div>
|
||||||
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  vecType<T, P> <span class="keyword">const</span> & y, U b,</div>
|
||||||
|
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  vecType<T, P> <span class="keyword">const</span> & z, U c,</div>
|
||||||
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  vecType<T, P> <span class="keyword">const</span> & w, U d);</div>
|
||||||
|
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
|
||||||
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> } <span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
|
||||||
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor">#include "associated_min_max.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00181_html_ga3122fbe8133ea54749b10fb93e8a167e"><div class="ttname"><a href="a00181.html#ga3122fbe8133ea54749b10fb93e8a167e">glm::associatedMax</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< U, P > associatedMax(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)</div><div class="ttdoc">Maximum comparison between 4 variables and returns 4 associated variable values. </div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00181_html_ga00a949fd345f4b31b259f033d3ab4a1c"><div class="ttname"><a href="a00181.html#ga00a949fd345f4b31b259f033d3ab4a1c">glm::associatedMin</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< U, P > associatedMin(vecType< T, P > const &x, U a, vecType< T, P > const &y, U b, vecType< T, P > const &z, U c, vecType< T, P > const &w, U d)</div><div class="ttdoc">Minimum comparison between 4 variables and returns 4 associated variable values. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
102
thirdparty/glm/doc/api/a00008.html
vendored
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: bit.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">bit.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00008_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga0dcc8fe7c3d3ad60dea409281efa3d05">highestBitValue</a> (genIUType Value)</td></tr>
|
||||||
|
<tr class="separator:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5eea3a4d429040af13d39a7d7cd84d73"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga5eea3a4d429040af13d39a7d7cd84d73"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">highestBitValue</a> (vecType< T, P > const &value)</td></tr>
|
||||||
|
<tr class="separator:ga5eea3a4d429040af13d39a7d7cd84d73"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga2ff6568089f3a9b67f5c30918855fc6f">lowestBitValue</a> (genIUType Value)</td></tr>
|
||||||
|
<tr class="separator:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga8cda2459871f574a0aecbe702ac93291"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga8cda2459871f574a0aecbe702ac93291"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga8cda2459871f574a0aecbe702ac93291">powerOfTwoAbove</a> (genIUType Value)</td></tr>
|
||||||
|
<tr class="separator:ga8cda2459871f574a0aecbe702ac93291"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gafe08808a50226b75b50e640a08b32ddc"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gafe08808a50226b75b50e640a08b32ddc"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">powerOfTwoAbove</a> (vecType< T, P > const &value)</td></tr>
|
||||||
|
<tr class="separator:gafe08808a50226b75b50e640a08b32ddc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga3de7df63c589325101a2817a56f8e29d"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga3de7df63c589325101a2817a56f8e29d"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga3de7df63c589325101a2817a56f8e29d">powerOfTwoBelow</a> (genIUType Value)</td></tr>
|
||||||
|
<tr class="separator:ga3de7df63c589325101a2817a56f8e29d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gae33bb1ca2b55846b23a0f0796a679195"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gae33bb1ca2b55846b23a0f0796a679195"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">powerOfTwoBelow</a> (vecType< T, P > const &value)</td></tr>
|
||||||
|
<tr class="separator:gae33bb1ca2b55846b23a0f0796a679195"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga5f65973a5d2ea38c719e6a663149ead9">powerOfTwoNearest</a> (genIUType Value)</td></tr>
|
||||||
|
<tr class="separator:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2d7e85995d097518b8d70cd409bda39e"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga2d7e85995d097518b8d70cd409bda39e"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">powerOfTwoNearest</a> (vecType< T, P > const &value)</td></tr>
|
||||||
|
<tr class="separator:ga2d7e85995d097518b8d70cd409bda39e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00182.html">GLM_GTX_bit</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||||
|
<dd>
|
||||||
|
gtc_half_float (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00008_source.html">bit.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
111
thirdparty/glm/doc/api/a00008_source.html
vendored
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: bit.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">bit.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00008.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../gtc/bitfield.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead")</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> {</div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">highestBitValue</a>(genIUType Value);</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#ga2ff6568089f3a9b67f5c30918855fc6f">lowestBitValue</a>(genIUType Value);</div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">highestBitValue</a>(vecType<T, P> <span class="keyword">const</span> & value);</div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">powerOfTwoAbove</a>(genIUType Value);</div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">powerOfTwoAbove</a>(vecType<T, P> <span class="keyword">const</span> & value);</div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">powerOfTwoBelow</a>(genIUType Value);</div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">powerOfTwoBelow</a>(vecType<T, P> <span class="keyword">const</span> & value);</div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">powerOfTwoNearest</a>(genIUType Value);</div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  GLM_DEPRECATED GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">powerOfTwoNearest</a>(vecType<T, P> <span class="keyword">const</span> & value);</div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> } <span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#include "bit.inl"</span></div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||||
|
<div class="ttc" id="a00182_html_gae33bb1ca2b55846b23a0f0796a679195"><div class="ttname"><a href="a00182.html#gae33bb1ca2b55846b23a0f0796a679195">glm::powerOfTwoBelow</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoBelow(vecType< T, P > const &value)</div><div class="ttdoc">Return the power of two number which value is just lower the input value. </div></div>
|
||||||
|
<div class="ttc" id="a00182_html_gafe08808a50226b75b50e640a08b32ddc"><div class="ttname"><a href="a00182.html#gafe08808a50226b75b50e640a08b32ddc">glm::powerOfTwoAbove</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoAbove(vecType< T, P > const &value)</div><div class="ttdoc">Return the power of two number which value is just higher the input value. </div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00182_html_ga2ff6568089f3a9b67f5c30918855fc6f"><div class="ttname"><a href="a00182.html#ga2ff6568089f3a9b67f5c30918855fc6f">glm::lowestBitValue</a></div><div class="ttdeci">GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value)</div></div>
|
||||||
|
<div class="ttc" id="a00182_html_ga5eea3a4d429040af13d39a7d7cd84d73"><div class="ttname"><a href="a00182.html#ga5eea3a4d429040af13d39a7d7cd84d73">glm::highestBitValue</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > highestBitValue(vecType< T, P > const &value)</div><div class="ttdoc">Find the highest bit set to 1 in a integer variable and return its value. </div></div>
|
||||||
|
<div class="ttc" id="a00182_html_ga2d7e85995d097518b8d70cd409bda39e"><div class="ttname"><a href="a00182.html#ga2d7e85995d097518b8d70cd409bda39e">glm::powerOfTwoNearest</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vecType< T, P > powerOfTwoNearest(vecType< T, P > const &value)</div><div class="ttdoc">Return the power of two number which value is the closet to the input value. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
137
thirdparty/glm/doc/api/a00009.html
vendored
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: bitfield.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">bitfield.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00009_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga46f9295abe3b5c7658f5b13c7f819f0a">bitfieldFillOne</a> (genIUType Value, int FirstBit, int BitCount)</td></tr>
|
||||||
|
<tr class="separator:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad789042e84e8292ae95dc1af856f2ad5"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gad789042e84e8292ae95dc1af856f2ad5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">bitfieldFillOne</a> (vecType< T, P > const &Value, int FirstBit, int BitCount)</td></tr>
|
||||||
|
<tr class="separator:gad789042e84e8292ae95dc1af856f2ad5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga697b86998b7d74ee0a69d8e9f8819fee">bitfieldFillZero</a> (genIUType Value, int FirstBit, int BitCount)</td></tr>
|
||||||
|
<tr class="separator:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaddba3196316b0bd240295b09b43c2958"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gaddba3196316b0bd240295b09b43c2958"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gaddba3196316b0bd240295b09b43c2958">bitfieldFillZero</a> (vecType< T, P > const &Value, int FirstBit, int BitCount)</td></tr>
|
||||||
|
<tr class="separator:gaddba3196316b0bd240295b09b43c2958"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga24cad0069f9a0450abd80b3e89501adf"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int16 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga24cad0069f9a0450abd80b3e89501adf">bitfieldInterleave</a> (int8 x, int8 y)</td></tr>
|
||||||
|
<tr class="separator:ga24cad0069f9a0450abd80b3e89501adf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga9a4976a529aec2cee56525e1165da484"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint16 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga9a4976a529aec2cee56525e1165da484">bitfieldInterleave</a> (uint8 x, uint8 y)</td></tr>
|
||||||
|
<tr class="separator:ga9a4976a529aec2cee56525e1165da484"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gac51c33a394593f0631fa3aa5bb778809"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gac51c33a394593f0631fa3aa5bb778809">bitfieldInterleave</a> (int16 x, int16 y)</td></tr>
|
||||||
|
<tr class="separator:gac51c33a394593f0631fa3aa5bb778809"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga94f3646a5667f4be56f8dcf3310e963f"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga94f3646a5667f4be56f8dcf3310e963f">bitfieldInterleave</a> (uint16 x, uint16 y)</td></tr>
|
||||||
|
<tr class="separator:ga94f3646a5667f4be56f8dcf3310e963f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gaebb756a24a0784e3d6fba8bd011ab77a">bitfieldInterleave</a> (int32 x, int32 y)</td></tr>
|
||||||
|
<tr class="separator:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga2f1e2b3fe699e7d897ae38b2115ddcbd">bitfieldInterleave</a> (uint32 x, uint32 y)</td></tr>
|
||||||
|
<tr class="separator:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga8fdb724dccd4a07d57efc01147102137"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga8fdb724dccd4a07d57efc01147102137">bitfieldInterleave</a> (int8 x, int8 y, int8 z)</td></tr>
|
||||||
|
<tr class="separator:ga8fdb724dccd4a07d57efc01147102137"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga9fc2a0dd5dcf8b00e113f272a5feca93">bitfieldInterleave</a> (uint8 x, uint8 y, uint8 z)</td></tr>
|
||||||
|
<tr class="separator:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaa901c36a842fa5d126ea650549f17b24"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gaa901c36a842fa5d126ea650549f17b24">bitfieldInterleave</a> (int16 x, int16 y, int16 z)</td></tr>
|
||||||
|
<tr class="separator:gaa901c36a842fa5d126ea650549f17b24"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga3afd6d38881fe3948c53d4214d2197fd"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga3afd6d38881fe3948c53d4214d2197fd">bitfieldInterleave</a> (uint16 x, uint16 y, uint16 z)</td></tr>
|
||||||
|
<tr class="separator:ga3afd6d38881fe3948c53d4214d2197fd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad2075d96a6640121edaa98ea534102ca"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gad2075d96a6640121edaa98ea534102ca">bitfieldInterleave</a> (int32 x, int32 y, int32 z)</td></tr>
|
||||||
|
<tr class="separator:gad2075d96a6640121edaa98ea534102ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab19fbc739fc0cf7247978602c36f7da8"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gab19fbc739fc0cf7247978602c36f7da8">bitfieldInterleave</a> (uint32 x, uint32 y, uint32 z)</td></tr>
|
||||||
|
<tr class="separator:gab19fbc739fc0cf7247978602c36f7da8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga8a44ae22f5c953b296c42d067dccbe6d">bitfieldInterleave</a> (int8 x, int8 y, int8 z, int8 w)</td></tr>
|
||||||
|
<tr class="separator:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga14bb274d54a3c26f4919dd7ed0dd0c36">bitfieldInterleave</a> (uint8 x, uint8 y, uint8 z, uint8 w)</td></tr>
|
||||||
|
<tr class="separator:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga180a63161e1319fbd5a53c84d0429c7a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#ga180a63161e1319fbd5a53c84d0429c7a">bitfieldInterleave</a> (int16 x, int16 y, int16 z, int16 w)</td></tr>
|
||||||
|
<tr class="separator:ga180a63161e1319fbd5a53c84d0429c7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gafca8768671a14c8016facccb66a89f26"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a> (uint16 x, uint16 y, uint16 z, uint16 w)</td></tr>
|
||||||
|
<tr class="separator:gafca8768671a14c8016facccb66a89f26"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga2eb49678a344ce1495bdb5586d9896b9">bitfieldRotateLeft</a> (genIUType In, int Shift)</td></tr>
|
||||||
|
<tr class="separator:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga410d130917d85b865718e3ebc32cf0ef"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga410d130917d85b865718e3ebc32cf0ef"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">bitfieldRotateLeft</a> (vecType< T, P > const &In, int Shift)</td></tr>
|
||||||
|
<tr class="separator:ga410d130917d85b865718e3ebc32cf0ef"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga1c33d075c5fb8bd8dbfd5092bfc851ca">bitfieldRotateRight</a> (genIUType In, int Shift)</td></tr>
|
||||||
|
<tr class="separator:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga96b56fd2adad1eeaee9e10dfe83904ba"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga96b56fd2adad1eeaee9e10dfe83904ba"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">bitfieldRotateRight</a> (vecType< T, P > const &In, int Shift)</td></tr>
|
||||||
|
<tr class="separator:ga96b56fd2adad1eeaee9e10dfe83904ba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad7eba518a0b71662114571ee76939f8a"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||||
|
<tr class="memitem:gad7eba518a0b71662114571ee76939f8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#gad7eba518a0b71662114571ee76939f8a">mask</a> (genIUType Bits)</td></tr>
|
||||||
|
<tr class="separator:gad7eba518a0b71662114571ee76939f8a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga073dbd8642f550b51da3572541431c1c"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecIUType> </td></tr>
|
||||||
|
<tr class="memitem:ga073dbd8642f550b51da3572541431c1c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecIUType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00160.html#ga073dbd8642f550b51da3572541431c1c">mask</a> (vecIUType< T, P > const &v)</td></tr>
|
||||||
|
<tr class="separator:ga073dbd8642f550b51da3572541431c1c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00160.html">GLM_GTC_bitfield</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||||
|
<dd>
|
||||||
|
<a class="el" href="a00160.html" title="Allow to perform bit operations on integer values. ">GLM_GTC_bitfield</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00009_source.html">bitfield.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
149
thirdparty/glm/doc/api/a00009_source.html
vendored
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: bitfield.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">bitfield.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00009.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/precision.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../detail/type_int.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "../detail/_vectorize.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <limits></span></div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_bitfield extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> {</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#ga073dbd8642f550b51da3572541431c1c">mask</a>(genIUType Bits);</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecIUType></div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  GLM_FUNC_DECL vecIUType<T, P> <a class="code" href="a00160.html#ga073dbd8642f550b51da3572541431c1c">mask</a>(vecIUType<T, P> <span class="keyword">const</span> & v);</div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">bitfieldRotateRight</a>(genIUType In, <span class="keywordtype">int</span> Shift);</div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">bitfieldRotateRight</a>(vecType<T, P> <span class="keyword">const</span> & In, <span class="keywordtype">int</span> Shift);</div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">bitfieldRotateLeft</a>(genIUType In, <span class="keywordtype">int</span> Shift);</div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">bitfieldRotateLeft</a>(vecType<T, P> <span class="keyword">const</span> & In, <span class="keywordtype">int</span> Shift);</div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">bitfieldFillOne</a>(genIUType Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">bitfieldFillOne</a>(vecType<T, P> <span class="keyword">const</span> & Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genIUType></div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00160.html#gaddba3196316b0bd240295b09b43c2958">bitfieldFillZero</a>(genIUType Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00160.html#gaddba3196316b0bd240295b09b43c2958">bitfieldFillZero</a>(vecType<T, P> <span class="keyword">const</span> & Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  GLM_FUNC_DECL int16 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y);</div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  GLM_FUNC_DECL uint16 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y);</div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
|
||||||
|
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  GLM_FUNC_DECL int32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y);</div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||||
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  GLM_FUNC_DECL uint32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y);</div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
|
||||||
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int32 x, int32 y);</div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||||
|
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint32 x, uint32 y);</div>
|
||||||
|
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
|
||||||
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  GLM_FUNC_DECL int32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y, int8 z);</div>
|
||||||
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||||
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  GLM_FUNC_DECL uint32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y, uint8 z);</div>
|
||||||
|
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
|
||||||
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y, int16 z);</div>
|
||||||
|
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
|
||||||
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y, uint16 z);</div>
|
||||||
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||||
|
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int32 x, int32 y, int32 z);</div>
|
||||||
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
|
||||||
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint32 x, uint32 y, uint32 z);</div>
|
||||||
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||||
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  GLM_FUNC_DECL int32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y, int8 z, int8 w);</div>
|
||||||
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
|
||||||
|
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  GLM_FUNC_DECL uint32 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y, uint8 z, uint8 w);</div>
|
||||||
|
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
|
||||||
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  GLM_FUNC_DECL int64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y, int16 z, int16 w);</div>
|
||||||
|
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
|
||||||
|
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00160.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y, uint16 z, uint16 w);</div>
|
||||||
|
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||||
|
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> } <span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
|
||||||
|
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#include "bitfield.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00160_html_gafca8768671a14c8016facccb66a89f26"><div class="ttname"><a href="a00160.html#gafca8768671a14c8016facccb66a89f26">glm::bitfieldInterleave</a></div><div class="ttdeci">GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)</div><div class="ttdoc">Interleaves the bits of x, y, z and w. </div></div>
|
||||||
|
<div class="ttc" id="a00160_html_ga410d130917d85b865718e3ebc32cf0ef"><div class="ttname"><a href="a00160.html#ga410d130917d85b865718e3ebc32cf0ef">glm::bitfieldRotateLeft</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > bitfieldRotateLeft(vecType< T, P > const &In, int Shift)</div><div class="ttdoc">Rotate all bits to the left. </div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00160_html_ga073dbd8642f550b51da3572541431c1c"><div class="ttname"><a href="a00160.html#ga073dbd8642f550b51da3572541431c1c">glm::mask</a></div><div class="ttdeci">GLM_FUNC_DECL vecIUType< T, P > mask(vecIUType< T, P > const &v)</div><div class="ttdoc">Build a mask of 'count' bits. </div></div>
|
||||||
|
<div class="ttc" id="a00160_html_gad789042e84e8292ae95dc1af856f2ad5"><div class="ttname"><a href="a00160.html#gad789042e84e8292ae95dc1af856f2ad5">glm::bitfieldFillOne</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > bitfieldFillOne(vecType< T, P > const &Value, int FirstBit, int BitCount)</div><div class="ttdoc">Set to 1 a range of bits. </div></div>
|
||||||
|
<div class="ttc" id="a00160_html_ga96b56fd2adad1eeaee9e10dfe83904ba"><div class="ttname"><a href="a00160.html#ga96b56fd2adad1eeaee9e10dfe83904ba">glm::bitfieldRotateRight</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > bitfieldRotateRight(vecType< T, P > const &In, int Shift)</div><div class="ttdoc">Rotate all bits to the right. </div></div>
|
||||||
|
<div class="ttc" id="a00160_html_gaddba3196316b0bd240295b09b43c2958"><div class="ttname"><a href="a00160.html#gaddba3196316b0bd240295b09b43c2958">glm::bitfieldFillZero</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > bitfieldFillZero(vecType< T, P > const &Value, int FirstBit, int BitCount)</div><div class="ttdoc">Set to 0 a range of bits. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
80
thirdparty/glm/doc/api/a00010.html
vendored
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: closest_point.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">closest_point.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00010_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:gac26353282a8213e469f5e33560c1200f"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gac26353282a8213e469f5e33560c1200f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gac26353282a8213e469f5e33560c1200f">closestPointOnLine</a> (tvec3< T, P > const &point, tvec3< T, P > const &a, tvec3< T, P > const &b)</td></tr>
|
||||||
|
<tr class="separator:gac26353282a8213e469f5e33560c1200f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gadc7010070bb0cacd284f560299b21660"><td class="memTemplParams" colspan="2"><a class="anchor" id="gadc7010070bb0cacd284f560299b21660"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gadc7010070bb0cacd284f560299b21660"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gadc7010070bb0cacd284f560299b21660">closestPointOnLine</a> (tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)</td></tr>
|
||||||
|
<tr class="separator:gadc7010070bb0cacd284f560299b21660"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00183.html">GLM_GTX_closest_point</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00010_source.html">closest_point.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
90
thirdparty/glm/doc/api/a00010_source.html
vendored
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: closest_point.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">closest_point.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00010.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_closest_point extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00183.html#gadc7010070bb0cacd284f560299b21660">closestPointOnLine</a>(</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  tvec3<T, P> <span class="keyword">const</span> & point,</div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  tvec3<T, P> <span class="keyword">const</span> & a, </div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  tvec3<T, P> <span class="keyword">const</span> & b);</div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GLM_FUNC_DECL tvec2<T, P> <a class="code" href="a00183.html#gadc7010070bb0cacd284f560299b21660">closestPointOnLine</a>(</div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  tvec2<T, P> <span class="keyword">const</span> & point,</div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  tvec2<T, P> <span class="keyword">const</span> & a, </div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  tvec2<T, P> <span class="keyword">const</span> & b); </div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> }<span class="comment">// namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "closest_point.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00183_html_gadc7010070bb0cacd284f560299b21660"><div class="ttname"><a href="a00183.html#gadc7010070bb0cacd284f560299b21660">glm::closestPointOnLine</a></div><div class="ttdeci">GLM_FUNC_DECL tvec2< T, P > closestPointOnLine(tvec2< T, P > const &point, tvec2< T, P > const &a, tvec2< T, P > const &b)</div><div class="ttdoc">2d lines work as well </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
88
thirdparty/glm/doc/api/a00011.html
vendored
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: color_space.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">gtc/color_space.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00011_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:gad813dcd99644cafc775e83d6504ccb93"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gad813dcd99644cafc775e83d6504ccb93"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#gad813dcd99644cafc775e83d6504ccb93">convertLinearToSRGB</a> (vecType< T, P > const &ColorLinear)</td></tr>
|
||||||
|
<tr class="separator:gad813dcd99644cafc775e83d6504ccb93"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga63f8b003da7acf44370eb47bfb8b3d42"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga63f8b003da7acf44370eb47bfb8b3d42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">convertLinearToSRGB</a> (vecType< T, P > const &ColorLinear, T Gamma)</td></tr>
|
||||||
|
<tr class="separator:ga63f8b003da7acf44370eb47bfb8b3d42"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga28e98e64347cf385cadc1ceb4def55c9"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga28e98e64347cf385cadc1ceb4def55c9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga28e98e64347cf385cadc1ceb4def55c9">convertSRGBToLinear</a> (vecType< T, P > const &ColorSRGB)</td></tr>
|
||||||
|
<tr class="separator:ga28e98e64347cf385cadc1ceb4def55c9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga61c4f0efdf55c29d9cfbd26141fddef8"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga61c4f0efdf55c29d9cfbd26141fddef8"></a>
|
||||||
|
template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga61c4f0efdf55c29d9cfbd26141fddef8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">convertSRGBToLinear</a> (vecType< T, P > const &ColorSRGB, T Gamma)</td></tr>
|
||||||
|
<tr class="separator:ga61c4f0efdf55c29d9cfbd26141fddef8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00161.html">GLM_GTC_color_space</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||||
|
<dd>
|
||||||
|
<a class="el" href="a00161.html" title="Allow to perform bit operations on integer values. ">GLM_GTC_color_space</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00011_source.html">gtc/color_space.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
97
thirdparty/glm/doc/api/a00011_source.html
vendored
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: color_space.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_9440d7c11b99dcd7e5d369c7cf9802fe.html">gtc</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">gtc/color_space.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00011.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/precision.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../exponential.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "../vec4.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <limits></span></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_color_space extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">convertLinearToSRGB</a>(vecType<T, P> <span class="keyword">const</span> & ColorLinear);</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">convertLinearToSRGB</a>(vecType<T, P> <span class="keyword">const</span> & ColorLinear, T Gamma);</div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">convertSRGBToLinear</a>(vecType<T, P> <span class="keyword">const</span> & ColorSRGB);</div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">// IEC 61966-2-1:1999 specification https://www.w3.org/Graphics/Color/srgb</span></div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">convertSRGBToLinear</a>(vecType<T, P> <span class="keyword">const</span> & ColorSRGB, T Gamma);</div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> } <span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "color_space.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00161_html_ga61c4f0efdf55c29d9cfbd26141fddef8"><div class="ttname"><a href="a00161.html#ga61c4f0efdf55c29d9cfbd26141fddef8">glm::convertSRGBToLinear</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > convertSRGBToLinear(vecType< T, P > const &ColorSRGB, T Gamma)</div><div class="ttdoc">Convert a sRGB color to linear color using a custom gamma correction. </div></div>
|
||||||
|
<div class="ttc" id="a00161_html_ga63f8b003da7acf44370eb47bfb8b3d42"><div class="ttname"><a href="a00161.html#ga63f8b003da7acf44370eb47bfb8b3d42">glm::convertLinearToSRGB</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > convertLinearToSRGB(vecType< T, P > const &ColorLinear, T Gamma)</div><div class="ttdoc">Convert a linear color to sRGB color using a custom gamma correction. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
91
thirdparty/glm/doc/api/a00012.html
vendored
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: color_space.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">gtx/color_space.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00012_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:gae72039c00a7be2f03a3b94b37a54349a"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gae72039c00a7be2f03a3b94b37a54349a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#gae72039c00a7be2f03a3b94b37a54349a">hsvColor</a> (tvec3< T, P > const &rgbValue)</td></tr>
|
||||||
|
<tr class="separator:gae72039c00a7be2f03a3b94b37a54349a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaa2f38a5100c3e1c7d39920df43bd8cbe"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gaa2f38a5100c3e1c7d39920df43bd8cbe"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#gaa2f38a5100c3e1c7d39920df43bd8cbe">luminosity</a> (tvec3< T, P > const &color)</td></tr>
|
||||||
|
<tr class="separator:gaa2f38a5100c3e1c7d39920df43bd8cbe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga36b0619e31daf57bc4a54dac2dcf34b7"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga36b0619e31daf57bc4a54dac2dcf34b7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a> (tvec3< T, P > const &hsvValue)</td></tr>
|
||||||
|
<tr class="separator:ga36b0619e31daf57bc4a54dac2dcf34b7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gafecfb15d58da8445103745af3348e516"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||||
|
<tr class="memitem:gafecfb15d58da8445103745af3348e516"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tmat4x4< T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#gafecfb15d58da8445103745af3348e516">saturation</a> (T const s)</td></tr>
|
||||||
|
<tr class="separator:gafecfb15d58da8445103745af3348e516"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga632ee8dadb44e90a05885f6f8c07d46c"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga632ee8dadb44e90a05885f6f8c07d46c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#ga632ee8dadb44e90a05885f6f8c07d46c">saturation</a> (T const s, tvec3< T, P > const &color)</td></tr>
|
||||||
|
<tr class="separator:ga632ee8dadb44e90a05885f6f8c07d46c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2033e0566c595230714af396744e8a61"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga2033e0566c595230714af396744e8a61"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a> (T const s, tvec4< T, P > const &color)</td></tr>
|
||||||
|
<tr class="separator:ga2033e0566c595230714af396744e8a61"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00184.html">GLM_GTX_color_space</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00012_source.html">gtx/color_space.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
107
thirdparty/glm/doc/api/a00012_source.html
vendored
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: color_space.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">gtx/color_space.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00012.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_color_space extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a>(</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  tvec3<T, P> <span class="keyword">const</span> & hsvValue);</div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00184.html#gae72039c00a7be2f03a3b94b37a54349a">hsvColor</a>(</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  tvec3<T, P> <span class="keyword">const</span> & rgbValue);</div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  GLM_FUNC_DECL tmat4x4<T, defaultp> <a class="code" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a>(</div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  T <span class="keyword">const</span> s);</div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a>(</div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  T <span class="keyword">const</span> s,</div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  tvec3<T, P> <span class="keyword">const</span> & color);</div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  </div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GLM_FUNC_DECL tvec4<T, P> <a class="code" href="a00184.html#ga2033e0566c595230714af396744e8a61">saturation</a>(</div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  T <span class="keyword">const</span> s,</div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  tvec4<T, P> <span class="keyword">const</span> & color);</div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  </div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  GLM_FUNC_DECL T <a class="code" href="a00184.html#gaa2f38a5100c3e1c7d39920df43bd8cbe">luminosity</a>(</div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  tvec3<T, P> <span class="keyword">const</span> & color);</div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include "color_space.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00184_html_ga2033e0566c595230714af396744e8a61"><div class="ttname"><a href="a00184.html#ga2033e0566c595230714af396744e8a61">glm::saturation</a></div><div class="ttdeci">GLM_FUNC_DECL tvec4< T, P > saturation(T const s, tvec4< T, P > const &color)</div><div class="ttdoc">Modify the saturation of a color. </div></div>
|
||||||
|
<div class="ttc" id="a00184_html_gae72039c00a7be2f03a3b94b37a54349a"><div class="ttname"><a href="a00184.html#gae72039c00a7be2f03a3b94b37a54349a">glm::hsvColor</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > hsvColor(tvec3< T, P > const &rgbValue)</div><div class="ttdoc">Converts a color from RGB color space to its color in HSV color space. </div></div>
|
||||||
|
<div class="ttc" id="a00184_html_ga36b0619e31daf57bc4a54dac2dcf34b7"><div class="ttname"><a href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">glm::rgbColor</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > rgbColor(tvec3< T, P > const &hsvValue)</div><div class="ttdoc">Converts a color from HSV color space to its color in RGB color space. </div></div>
|
||||||
|
<div class="ttc" id="a00184_html_gaa2f38a5100c3e1c7d39920df43bd8cbe"><div class="ttname"><a href="a00184.html#gaa2f38a5100c3e1c7d39920df43bd8cbe">glm::luminosity</a></div><div class="ttdeci">GLM_FUNC_DECL T luminosity(tvec3< T, P > const &color)</div><div class="ttdoc">Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
85
thirdparty/glm/doc/api/a00013.html
vendored
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: color_space_YCoCg.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">color_space_YCoCg.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00013_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ga19481f6947c5b5482debd41e71b8c941"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga19481f6947c5b5482debd41e71b8c941"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga19481f6947c5b5482debd41e71b8c941">rgb2YCoCg</a> (tvec3< T, P > const &rgbColor)</td></tr>
|
||||||
|
<tr class="separator:ga19481f6947c5b5482debd41e71b8c941"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2e534594cc8ad252d23b14fb363ae9e2"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga2e534594cc8ad252d23b14fb363ae9e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga2e534594cc8ad252d23b14fb363ae9e2">rgb2YCoCgR</a> (tvec3< T, P > const &rgbColor)</td></tr>
|
||||||
|
<tr class="separator:ga2e534594cc8ad252d23b14fb363ae9e2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga6d7e988a79b299ca1fa59f537e13800b"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga6d7e988a79b299ca1fa59f537e13800b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga6d7e988a79b299ca1fa59f537e13800b">YCoCg2rgb</a> (tvec3< T, P > const &YCoCgColor)</td></tr>
|
||||||
|
<tr class="separator:ga6d7e988a79b299ca1fa59f537e13800b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga4bac5462c00df0ae89242ecdbbe5dbad"><td class="memTemplParams" colspan="2">template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga4bac5462c00df0ae89242ecdbbe5dbad"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00185.html#ga4bac5462c00df0ae89242ecdbbe5dbad">YCoCgR2rgb</a> (tvec3< T, P > const &YCoCgColor)</td></tr>
|
||||||
|
<tr class="separator:ga4bac5462c00df0ae89242ecdbbe5dbad"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00185.html">GLM_GTX_color_space_YCoCg</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00013_source.html">color_space_YCoCg.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
98
thirdparty/glm/doc/api/a00013_source.html
vendored
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: color_space_YCoCg.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">color_space_YCoCg.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00013.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00185.html#ga19481f6947c5b5482debd41e71b8c941">rgb2YCoCg</a>(</div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  tvec3<T, P> <span class="keyword">const</span> & <a class="code" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a>);</div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||||
|
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00185.html#ga6d7e988a79b299ca1fa59f537e13800b">YCoCg2rgb</a>(</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  tvec3<T, P> <span class="keyword">const</span> & YCoCgColor);</div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00185.html#ga2e534594cc8ad252d23b14fb363ae9e2">rgb2YCoCgR</a>(</div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  tvec3<T, P> <span class="keyword">const</span> & <a class="code" href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">rgbColor</a>);</div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P></div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  GLM_FUNC_DECL tvec3<T, P> <a class="code" href="a00185.html#ga4bac5462c00df0ae89242ecdbbe5dbad">YCoCgR2rgb</a>(</div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  tvec3<T, P> <span class="keyword">const</span> & YCoCgColor);</div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "color_space_YCoCg.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00185_html_ga6d7e988a79b299ca1fa59f537e13800b"><div class="ttname"><a href="a00185.html#ga6d7e988a79b299ca1fa59f537e13800b">glm::YCoCg2rgb</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > YCoCg2rgb(tvec3< T, P > const &YCoCgColor)</div><div class="ttdoc">Convert a color from YCoCg color space to RGB color space. </div></div>
|
||||||
|
<div class="ttc" id="a00185_html_ga2e534594cc8ad252d23b14fb363ae9e2"><div class="ttname"><a href="a00185.html#ga2e534594cc8ad252d23b14fb363ae9e2">glm::rgb2YCoCgR</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > rgb2YCoCgR(tvec3< T, P > const &rgbColor)</div><div class="ttdoc">Convert a color from RGB color space to YCoCgR color space. </div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00185_html_ga19481f6947c5b5482debd41e71b8c941"><div class="ttname"><a href="a00185.html#ga19481f6947c5b5482debd41e71b8c941">glm::rgb2YCoCg</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > rgb2YCoCg(tvec3< T, P > const &rgbColor)</div><div class="ttdoc">Convert a color from RGB color space to YCoCg color space. </div></div>
|
||||||
|
<div class="ttc" id="a00184_html_ga36b0619e31daf57bc4a54dac2dcf34b7"><div class="ttname"><a href="a00184.html#ga36b0619e31daf57bc4a54dac2dcf34b7">glm::rgbColor</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > rgbColor(tvec3< T, P > const &hsvValue)</div><div class="ttdoc">Converts a color from HSV color space to its color in RGB color space. </div></div>
|
||||||
|
<div class="ttc" id="a00185_html_ga4bac5462c00df0ae89242ecdbbe5dbad"><div class="ttname"><a href="a00185.html#ga4bac5462c00df0ae89242ecdbbe5dbad">glm::YCoCgR2rgb</a></div><div class="ttdeci">GLM_FUNC_DECL tvec3< T, P > YCoCgR2rgb(tvec3< T, P > const &YCoCgColor)</div><div class="ttdoc">Convert a color from YCoCgR color space to RGB color space. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
66
thirdparty/glm/doc/api/a00014.html
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: common.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">common.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00014_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00156.html">GLM Core</a> </p>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00014_source.html">common.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
65
thirdparty/glm/doc/api/a00014_source.html
vendored
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: common.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">common.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00014.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||||
|
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="a00029.html">detail/func_common.hpp</a>"</span></div>
|
||||||
|
<div class="ttc" id="a00029_html"><div class="ttname"><a href="a00029.html">func_common.hpp</a></div><div class="ttdoc">GLM Core </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
81
thirdparty/glm/doc/api/a00015.html
vendored
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: common.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">gtx/common.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00015_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ga2580f50d4064557d62f4a533dfc6c7e3"><td class="memTemplParams" colspan="2">template<typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:ga2580f50d4064557d62f4a533dfc6c7e3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00186.html#ga2580f50d4064557d62f4a533dfc6c7e3">fmod</a> (vecType< T, P > const &v)</td></tr>
|
||||||
|
<tr class="separator:ga2580f50d4064557d62f4a533dfc6c7e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||||
|
<tr class="memitem:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::bool_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00186.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">isdenormal</a> (genType const &x)</td></tr>
|
||||||
|
<tr class="separator:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00186.html">GLM_GTX_common</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||||
|
<dd>
|
||||||
|
gtc_half_float (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00015_source.html">gtx/common.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
88
thirdparty/glm/doc/api/a00015_source.html
vendored
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: common.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">gtx/common.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00015.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies:</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../vec2.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../vec4.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "../gtc/vec1.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_common extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType> </div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00186.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">isdenormal</a>(genType <span class="keyword">const</span> & x);</div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P, <span class="keyword">template</span> <<span class="keyword">typename</span>, precision> <span class="keyword">class </span>vecType></div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  GLM_FUNC_DECL vecType<T, P> <a class="code" href="a00186.html#ga2580f50d4064557d62f4a533dfc6c7e3">fmod</a>(vecType<T, P> <span class="keyword">const</span> & v);</div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "common.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00186_html_ga74aa7c7462245d83bd5a9edf9c6c2d91"><div class="ttname"><a href="a00186.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">glm::isdenormal</a></div><div class="ttdeci">GLM_FUNC_DECL genType::bool_type isdenormal(genType const &x)</div><div class="ttdoc">Returns true if x is a denormalized number Numbers whose absolute value is too small to be represente...</div></div>
|
||||||
|
<div class="ttc" id="a00186_html_ga2580f50d4064557d62f4a533dfc6c7e3"><div class="ttname"><a href="a00186.html#ga2580f50d4064557d62f4a533dfc6c7e3">glm::fmod</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > fmod(vecType< T, P > const &v)</div><div class="ttdoc">Similar to 'mod' but with a different rounding and integer support. </div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
327
thirdparty/glm/doc/api/a00016.html
vendored
Normal file
@@ -0,0 +1,327 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: compatibility.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#typedef-members">Typedefs</a> |
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">compatibility.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00016_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
||||||
|
Typedefs</h2></td></tr>
|
||||||
|
<tr class="memitem:gaddcd7aa2e30e61af5b38660613d3979e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaddcd7aa2e30e61af5b38660613d3979e"></a>
|
||||||
|
typedef bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">bool1</a></td></tr>
|
||||||
|
<tr class="separator:gaddcd7aa2e30e61af5b38660613d3979e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga7f895c936f0c29c8729afbbf22806090"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f895c936f0c29c8729afbbf22806090"></a>
|
||||||
|
typedef bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">bool1x1</a></td></tr>
|
||||||
|
<tr class="separator:ga7f895c936f0c29c8729afbbf22806090"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gafa8d0bc8dfa7eeb928208305714f648d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafa8d0bc8dfa7eeb928208305714f648d"></a>
|
||||||
|
typedef tvec2< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">bool2</a></td></tr>
|
||||||
|
<tr class="separator:gafa8d0bc8dfa7eeb928208305714f648d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2bfb53bc320966c85149934fffb0329d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2bfb53bc320966c85149934fffb0329d"></a>
|
||||||
|
typedef tmat2x2< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">bool2x2</a></td></tr>
|
||||||
|
<tr class="separator:ga2bfb53bc320966c85149934fffb0329d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad02e7dff74039bb1454643e293d85dfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad02e7dff74039bb1454643e293d85dfe"></a>
|
||||||
|
typedef tmat2x3< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">bool2x3</a></td></tr>
|
||||||
|
<tr class="separator:gad02e7dff74039bb1454643e293d85dfe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga379c0869949e8a69c3d06d7637caa5d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga379c0869949e8a69c3d06d7637caa5d7"></a>
|
||||||
|
typedef tmat2x4< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">bool2x4</a></td></tr>
|
||||||
|
<tr class="separator:ga379c0869949e8a69c3d06d7637caa5d7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab8d74ea4c4f4bd980b650ffb27cdb659"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8d74ea4c4f4bd980b650ffb27cdb659"></a>
|
||||||
|
typedef tvec3< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">bool3</a></td></tr>
|
||||||
|
<tr class="separator:gab8d74ea4c4f4bd980b650ffb27cdb659"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga0fc7ecb53df5be5f9d766fbbfe5190d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0fc7ecb53df5be5f9d766fbbfe5190d7"></a>
|
||||||
|
typedef tmat3x2< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">bool3x2</a></td></tr>
|
||||||
|
<tr class="separator:ga0fc7ecb53df5be5f9d766fbbfe5190d7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gae621c9eabcba552eea5f6ade1f403605"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae621c9eabcba552eea5f6ade1f403605"></a>
|
||||||
|
typedef tmat3x3< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">bool3x3</a></td></tr>
|
||||||
|
<tr class="separator:gae621c9eabcba552eea5f6ade1f403605"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad13f8250579ebf79760dcf64215ddb17"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad13f8250579ebf79760dcf64215ddb17"></a>
|
||||||
|
typedef tmat3x4< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">bool3x4</a></td></tr>
|
||||||
|
<tr class="separator:gad13f8250579ebf79760dcf64215ddb17"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga6e79dbfab5917c467a154638ba27898e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6e79dbfab5917c467a154638ba27898e"></a>
|
||||||
|
typedef tvec4< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">bool4</a></td></tr>
|
||||||
|
<tr class="separator:ga6e79dbfab5917c467a154638ba27898e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga184ee05ac2bbbf0a91dd364ba8e528db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga184ee05ac2bbbf0a91dd364ba8e528db"></a>
|
||||||
|
typedef tmat4x2< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">bool4x2</a></td></tr>
|
||||||
|
<tr class="separator:ga184ee05ac2bbbf0a91dd364ba8e528db"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga83e4c62ab1addfe708dc3409cc0e5dfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e4c62ab1addfe708dc3409cc0e5dfb"></a>
|
||||||
|
typedef tmat4x3< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">bool4x3</a></td></tr>
|
||||||
|
<tr class="separator:ga83e4c62ab1addfe708dc3409cc0e5dfb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga9770607032813e7b0ca7362a47efea1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9770607032813e7b0ca7362a47efea1e"></a>
|
||||||
|
typedef tmat4x4< bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">bool4x4</a></td></tr>
|
||||||
|
<tr class="separator:ga9770607032813e7b0ca7362a47efea1e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga20b861a9b6e2a300323671c57a02525b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga20b861a9b6e2a300323671c57a02525b"></a>
|
||||||
|
typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">double1</a></td></tr>
|
||||||
|
<tr class="separator:ga20b861a9b6e2a300323671c57a02525b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga45f16a4dd0db1f199afaed9fd12fe9a8"></a>
|
||||||
|
typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">double1x1</a></td></tr>
|
||||||
|
<tr class="separator:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaa16a13c6f2768e83ca133430e82ab89e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa16a13c6f2768e83ca133430e82ab89e"></a>
|
||||||
|
typedef tvec2< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">double2</a></td></tr>
|
||||||
|
<tr class="separator:gaa16a13c6f2768e83ca133430e82ab89e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga320d0a71a4ad9f14a1992d40546cffa7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga320d0a71a4ad9f14a1992d40546cffa7"></a>
|
||||||
|
typedef tmat2x2< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">double2x2</a></td></tr>
|
||||||
|
<tr class="separator:ga320d0a71a4ad9f14a1992d40546cffa7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gade37cf30c69bacb41ceea7e32717eac7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gade37cf30c69bacb41ceea7e32717eac7"></a>
|
||||||
|
typedef tmat2x3< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">double2x3</a></td></tr>
|
||||||
|
<tr class="separator:gade37cf30c69bacb41ceea7e32717eac7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf923922adf744404d5bfb3fafb7d0d8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf923922adf744404d5bfb3fafb7d0d8e"></a>
|
||||||
|
typedef tmat2x4< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">double2x4</a></td></tr>
|
||||||
|
<tr class="separator:gaf923922adf744404d5bfb3fafb7d0d8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaed4bc64196bd25d46f6a1f417320a391"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaed4bc64196bd25d46f6a1f417320a391"></a>
|
||||||
|
typedef tvec3< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">double3</a></td></tr>
|
||||||
|
<tr class="separator:gaed4bc64196bd25d46f6a1f417320a391"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaeaac4d0e18164e4d2fe54432c0fbbcf6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeaac4d0e18164e4d2fe54432c0fbbcf6"></a>
|
||||||
|
typedef tmat3x2< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">double3x2</a></td></tr>
|
||||||
|
<tr class="separator:gaeaac4d0e18164e4d2fe54432c0fbbcf6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gac934f579ee5cf3cbdbb25b73f2640c0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac934f579ee5cf3cbdbb25b73f2640c0a"></a>
|
||||||
|
typedef tmat3x3< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">double3x3</a></td></tr>
|
||||||
|
<tr class="separator:gac934f579ee5cf3cbdbb25b73f2640c0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaad84a1ea83be8fce04c1570c5e719413"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaad84a1ea83be8fce04c1570c5e719413"></a>
|
||||||
|
typedef tmat3x4< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">double3x4</a></td></tr>
|
||||||
|
<tr class="separator:gaad84a1ea83be8fce04c1570c5e719413"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab8bbb086c9a6c2deffbe0e80afd6be56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab8bbb086c9a6c2deffbe0e80afd6be56"></a>
|
||||||
|
typedef tvec4< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">double4</a></td></tr>
|
||||||
|
<tr class="separator:gab8bbb086c9a6c2deffbe0e80afd6be56"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2f87500119da15e35e4a74780ba512bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2f87500119da15e35e4a74780ba512bd"></a>
|
||||||
|
typedef tmat4x2< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">double4x2</a></td></tr>
|
||||||
|
<tr class="separator:ga2f87500119da15e35e4a74780ba512bd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaa4e6d53c03780dfa76bd399324f9fe37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa4e6d53c03780dfa76bd399324f9fe37"></a>
|
||||||
|
typedef tmat4x3< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">double4x3</a></td></tr>
|
||||||
|
<tr class="separator:gaa4e6d53c03780dfa76bd399324f9fe37"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga686a3a5590f0a0e721faba08bda301d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga686a3a5590f0a0e721faba08bda301d6"></a>
|
||||||
|
typedef tmat4x4< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">double4x4</a></td></tr>
|
||||||
|
<tr class="separator:ga686a3a5590f0a0e721faba08bda301d6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf5208d01f6c6fbcb7bb55d610b9c0ead"></a>
|
||||||
|
typedef float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">float1</a></td></tr>
|
||||||
|
<tr class="separator:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga73720b8dc4620835b17f74d428f98c0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga73720b8dc4620835b17f74d428f98c0c"></a>
|
||||||
|
typedef float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">float1x1</a></td></tr>
|
||||||
|
<tr class="separator:ga73720b8dc4620835b17f74d428f98c0c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga872a70333dd25af68b1ebba485be9e42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga872a70333dd25af68b1ebba485be9e42"></a>
|
||||||
|
typedef tvec2< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">float2</a></td></tr>
|
||||||
|
<tr class="separator:ga872a70333dd25af68b1ebba485be9e42"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaad93cbc2b863e363d53d405d0451d03e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaad93cbc2b863e363d53d405d0451d03e"></a>
|
||||||
|
typedef tmat2x2< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">float2x2</a></td></tr>
|
||||||
|
<tr class="separator:gaad93cbc2b863e363d53d405d0451d03e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga098c33a30f901f4f6a76969d6db6b01b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga098c33a30f901f4f6a76969d6db6b01b"></a>
|
||||||
|
typedef tmat2x3< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">float2x3</a></td></tr>
|
||||||
|
<tr class="separator:ga098c33a30f901f4f6a76969d6db6b01b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab2ce4c366abc06c8bf7fe097ecea0dde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab2ce4c366abc06c8bf7fe097ecea0dde"></a>
|
||||||
|
typedef tmat2x4< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">float2x4</a></td></tr>
|
||||||
|
<tr class="separator:gab2ce4c366abc06c8bf7fe097ecea0dde"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2bfa618285894e34f299e4984f092d56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2bfa618285894e34f299e4984f092d56"></a>
|
||||||
|
typedef tvec3< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2bfa618285894e34f299e4984f092d56">float3</a></td></tr>
|
||||||
|
<tr class="separator:ga2bfa618285894e34f299e4984f092d56"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf30014e7b6874f45d58eb580d04764ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf30014e7b6874f45d58eb580d04764ff"></a>
|
||||||
|
typedef tmat3x2< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">float3x2</a></td></tr>
|
||||||
|
<tr class="separator:gaf30014e7b6874f45d58eb580d04764ff"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2692a729a69615d72dbebbdd0eba2363"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2692a729a69615d72dbebbdd0eba2363"></a>
|
||||||
|
typedef tmat3x3< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">float3x3</a></td></tr>
|
||||||
|
<tr class="separator:ga2692a729a69615d72dbebbdd0eba2363"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gac38c8929ccc87a2dc81eaab97ad5190e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac38c8929ccc87a2dc81eaab97ad5190e"></a>
|
||||||
|
typedef tmat3x4< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">float3x4</a></td></tr>
|
||||||
|
<tr class="separator:gac38c8929ccc87a2dc81eaab97ad5190e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5d49ed44dd9a9e944abc30371fc9045b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d49ed44dd9a9e944abc30371fc9045b"></a>
|
||||||
|
typedef tvec4< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">float4</a></td></tr>
|
||||||
|
<tr class="separator:ga5d49ed44dd9a9e944abc30371fc9045b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga39a2af7aa8f2d29ca40afd2256c0e7c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga39a2af7aa8f2d29ca40afd2256c0e7c8"></a>
|
||||||
|
typedef tmat4x2< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">float4x2</a></td></tr>
|
||||||
|
<tr class="separator:ga39a2af7aa8f2d29ca40afd2256c0e7c8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad749b26be059f35394fd71c7f7a44034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad749b26be059f35394fd71c7f7a44034"></a>
|
||||||
|
typedef tmat4x3< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad749b26be059f35394fd71c7f7a44034">float4x3</a></td></tr>
|
||||||
|
<tr class="separator:gad749b26be059f35394fd71c7f7a44034"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf40529862492ded2f3b96a6c886f6136"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf40529862492ded2f3b96a6c886f6136"></a>
|
||||||
|
typedef tmat4x4< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">float4x4</a></td></tr>
|
||||||
|
<tr class="separator:gaf40529862492ded2f3b96a6c886f6136"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0670a2111b5e4a6410bd027fa0232fc3"></a>
|
||||||
|
typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">int1</a></td></tr>
|
||||||
|
<tr class="separator:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga056ffe02d3a45af626f8e62221881c7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga056ffe02d3a45af626f8e62221881c7a"></a>
|
||||||
|
typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">int1x1</a></td></tr>
|
||||||
|
<tr class="separator:ga056ffe02d3a45af626f8e62221881c7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga2eca687990bf3a08ef28bc4a9f2fe700"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2eca687990bf3a08ef28bc4a9f2fe700"></a>
|
||||||
|
typedef tvec2< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">int2</a></td></tr>
|
||||||
|
<tr class="separator:ga2eca687990bf3a08ef28bc4a9f2fe700"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab1c5d0631a6ae34e28bfb2851da387cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab1c5d0631a6ae34e28bfb2851da387cc"></a>
|
||||||
|
typedef tmat2x2< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">int2x2</a></td></tr>
|
||||||
|
<tr class="separator:gab1c5d0631a6ae34e28bfb2851da387cc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga6dc93f0794eb5fadd7f68b85141a2434"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6dc93f0794eb5fadd7f68b85141a2434"></a>
|
||||||
|
typedef tmat2x3< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">int2x3</a></td></tr>
|
||||||
|
<tr class="separator:ga6dc93f0794eb5fadd7f68b85141a2434"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad5da9e1b4e0c64c5436b5696ab49540e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5da9e1b4e0c64c5436b5696ab49540e"></a>
|
||||||
|
typedef tmat2x4< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">int2x4</a></td></tr>
|
||||||
|
<tr class="separator:gad5da9e1b4e0c64c5436b5696ab49540e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaaa6ceedf08a85e5fd73a482bc8b77b88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaa6ceedf08a85e5fd73a482bc8b77b88"></a>
|
||||||
|
typedef tvec3< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">int3</a></td></tr>
|
||||||
|
<tr class="separator:gaaa6ceedf08a85e5fd73a482bc8b77b88"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaa98b1a06b802c975f02a5583f43632db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa98b1a06b802c975f02a5583f43632db"></a>
|
||||||
|
typedef tmat3x2< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">int3x2</a></td></tr>
|
||||||
|
<tr class="separator:gaa98b1a06b802c975f02a5583f43632db"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga20c4d23defbc123ac4745c9b4262156f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga20c4d23defbc123ac4745c9b4262156f"></a>
|
||||||
|
typedef tmat3x3< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">int3x3</a></td></tr>
|
||||||
|
<tr class="separator:ga20c4d23defbc123ac4745c9b4262156f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga7b00c53838143bce963177122ab92c39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b00c53838143bce963177122ab92c39"></a>
|
||||||
|
typedef tmat3x4< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga7b00c53838143bce963177122ab92c39">int3x4</a></td></tr>
|
||||||
|
<tr class="separator:ga7b00c53838143bce963177122ab92c39"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab19c2df22e9b14081390fabd074081f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab19c2df22e9b14081390fabd074081f1"></a>
|
||||||
|
typedef tvec4< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gab19c2df22e9b14081390fabd074081f1">int4</a></td></tr>
|
||||||
|
<tr class="separator:gab19c2df22e9b14081390fabd074081f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaa53815539021200c4e10fd282832dcd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa53815539021200c4e10fd282832dcd3"></a>
|
||||||
|
typedef tmat4x2< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#gaa53815539021200c4e10fd282832dcd3">int4x2</a></td></tr>
|
||||||
|
<tr class="separator:gaa53815539021200c4e10fd282832dcd3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga4a3bf0ecd6f6ff60836c5bee26c14abe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4a3bf0ecd6f6ff60836c5bee26c14abe"></a>
|
||||||
|
typedef tmat4x3< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">int4x3</a></td></tr>
|
||||||
|
<tr class="separator:ga4a3bf0ecd6f6ff60836c5bee26c14abe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga3bacf576b4b29f2f2959abff7a36652d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bacf576b4b29f2f2959abff7a36652d"></a>
|
||||||
|
typedef tmat4x4< int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">int4x4</a></td></tr>
|
||||||
|
<tr class="separator:ga3bacf576b4b29f2f2959abff7a36652d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table><table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac63011205bf6d0be82589dc56dd26708"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T x, T y)</td></tr>
|
||||||
|
<tr class="separator:gac63011205bf6d0be82589dc56dd26708"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga525f3e849d0fc64807f8ab571b4545f9"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga525f3e849d0fc64807f8ab571b4545f9"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga525f3e849d0fc64807f8ab571b4545f9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga525f3e849d0fc64807f8ab571b4545f9">atan2</a> (const tvec2< T, P > &x, const tvec2< T, P > &y)</td></tr>
|
||||||
|
<tr class="separator:ga525f3e849d0fc64807f8ab571b4545f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gad328042b6734d3f2c49c0ec1328b14c0"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad328042b6734d3f2c49c0ec1328b14c0"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gad328042b6734d3f2c49c0ec1328b14c0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gad328042b6734d3f2c49c0ec1328b14c0">atan2</a> (const tvec3< T, P > &x, const tvec3< T, P > &y)</td></tr>
|
||||||
|
<tr class="separator:gad328042b6734d3f2c49c0ec1328b14c0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga09d39c391a509a045b6c7061f15bdff5"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga09d39c391a509a045b6c7061f15bdff5"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga09d39c391a509a045b6c7061f15bdff5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a> (const tvec4< T, P > &x, const tvec4< T, P > &y)</td></tr>
|
||||||
|
<tr class="separator:ga09d39c391a509a045b6c7061f15bdff5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4b04dcd3526996d68c1bfe17bfc8657"></a>
|
||||||
|
template<typename genType > </td></tr>
|
||||||
|
<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gaf4b04dcd3526996d68c1bfe17bfc8657">isfinite</a> (genType const &x)</td></tr>
|
||||||
|
<tr class="separator:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga553e2e95b06a0f70c718605998889d3b"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga553e2e95b06a0f70c718605998889d3b"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga553e2e95b06a0f70c718605998889d3b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec1< bool, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga553e2e95b06a0f70c718605998889d3b">isfinite</a> (const tvec1< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga553e2e95b06a0f70c718605998889d3b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga7dd492aa7d6ec21715f9a91b6e5e596a"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7dd492aa7d6ec21715f9a91b6e5e596a"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga7dd492aa7d6ec21715f9a91b6e5e596a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec2< bool, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga7dd492aa7d6ec21715f9a91b6e5e596a">isfinite</a> (const tvec2< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga7dd492aa7d6ec21715f9a91b6e5e596a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga1be9593d810fceb278a2854da8a25273"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1be9593d810fceb278a2854da8a25273"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga1be9593d810fceb278a2854da8a25273"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec3< bool, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga1be9593d810fceb278a2854da8a25273">isfinite</a> (const tvec3< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga1be9593d810fceb278a2854da8a25273"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga8c6a59e2f2ac84fba0c5932f1c35bf7a"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tvec4< bool, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a> (const tvec4< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5494ba3a95ea6594c86fc75236886864"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5494ba3a95ea6594c86fc75236886864"></a>
|
||||||
|
template<typename T > </td></tr>
|
||||||
|
<tr class="memitem:ga5494ba3a95ea6594c86fc75236886864"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga5494ba3a95ea6594c86fc75236886864">lerp</a> (T x, T y, T a)</td></tr>
|
||||||
|
<tr class="separator:ga5494ba3a95ea6594c86fc75236886864"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga0aa79a146332650a1eb18ae996c653fe"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga0aa79a146332650a1eb18ae996c653fe"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga0aa79a146332650a1eb18ae996c653fe"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga0aa79a146332650a1eb18ae996c653fe">lerp</a> (const tvec2< T, P > &x, const tvec2< T, P > &y, T a)</td></tr>
|
||||||
|
<tr class="separator:ga0aa79a146332650a1eb18ae996c653fe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaf4c885ac72b8879b05777cb516c555c9"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4c885ac72b8879b05777cb516c555c9"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gaf4c885ac72b8879b05777cb516c555c9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gaf4c885ac72b8879b05777cb516c555c9">lerp</a> (const tvec3< T, P > &x, const tvec3< T, P > &y, T a)</td></tr>
|
||||||
|
<tr class="separator:gaf4c885ac72b8879b05777cb516c555c9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga363d5d069d31a6c2cdd1e9589dde4a60"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga363d5d069d31a6c2cdd1e9589dde4a60"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga363d5d069d31a6c2cdd1e9589dde4a60"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga363d5d069d31a6c2cdd1e9589dde4a60">lerp</a> (const tvec4< T, P > &x, const tvec4< T, P > &y, T a)</td></tr>
|
||||||
|
<tr class="separator:ga363d5d069d31a6c2cdd1e9589dde4a60"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga7609b44d8aefc5a277efe73395ff4070"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7609b44d8aefc5a277efe73395ff4070"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga7609b44d8aefc5a277efe73395ff4070"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga7609b44d8aefc5a277efe73395ff4070">lerp</a> (const tvec2< T, P > &x, const tvec2< T, P > &y, const tvec2< T, P > &a)</td></tr>
|
||||||
|
<tr class="separator:ga7609b44d8aefc5a277efe73395ff4070"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga90a1d1364a8d078846857178bdcc9af1"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga90a1d1364a8d078846857178bdcc9af1"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga90a1d1364a8d078846857178bdcc9af1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga90a1d1364a8d078846857178bdcc9af1">lerp</a> (const tvec3< T, P > &x, const tvec3< T, P > &y, const tvec3< T, P > &a)</td></tr>
|
||||||
|
<tr class="separator:ga90a1d1364a8d078846857178bdcc9af1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gae4b0244b0d882657bed0a99dfa33f379"><td class="memTemplParams" colspan="2"><a class="anchor" id="gae4b0244b0d882657bed0a99dfa33f379"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:gae4b0244b0d882657bed0a99dfa33f379"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a> (const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)</td></tr>
|
||||||
|
<tr class="separator:gae4b0244b0d882657bed0a99dfa33f379"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga0fd09e616d122bc2ed9726682ffd44b7"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga0fd09e616d122bc2ed9726682ffd44b7">saturate</a> (T x)</td></tr>
|
||||||
|
<tr class="separator:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga5815a26488231dfdf92242cf0c2d2107"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5815a26488231dfdf92242cf0c2d2107"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga5815a26488231dfdf92242cf0c2d2107"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec2< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga5815a26488231dfdf92242cf0c2d2107">saturate</a> (const tvec2< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga5815a26488231dfdf92242cf0c2d2107"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga02ed1a53c6df104d56b69f8fb5e9af1b"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga02ed1a53c6df104d56b69f8fb5e9af1b"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga02ed1a53c6df104d56b69f8fb5e9af1b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec3< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga02ed1a53c6df104d56b69f8fb5e9af1b">saturate</a> (const tvec3< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga02ed1a53c6df104d56b69f8fb5e9af1b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ga63791409bdef9745b956406afe3157f1"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga63791409bdef9745b956406afe3157f1"></a>
|
||||||
|
template<typename T , precision P> </td></tr>
|
||||||
|
<tr class="memitem:ga63791409bdef9745b956406afe3157f1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER tvec4< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a> (const tvec4< T, P > &x)</td></tr>
|
||||||
|
<tr class="separator:ga63791409bdef9745b956406afe3157f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00187.html">GLM_GTX_compatibility</a> </p>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd>
|
||||||
|
<dd>
|
||||||
|
gtc_half_float (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00016_source.html">compatibility.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
239
thirdparty/glm/doc/api/a00016_source.html
vendored
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: compatibility.hpp Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">compatibility.hpp</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<a href="a00016.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||||
|
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||||
|
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||||
|
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependency:</span></div>
|
||||||
|
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../gtc/quaternion.hpp"</span></div>
|
||||||
|
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||||
|
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||||
|
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_compatibility extension included")</span></div>
|
||||||
|
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||||
|
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#if GLM_COMPILER & GLM_COMPILER_VC</span></div>
|
||||||
|
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"># include <cfloat></span></div>
|
||||||
|
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#elif GLM_COMPILER & GLM_COMPILER_GCC</span></div>
|
||||||
|
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"># include <cmath></span></div>
|
||||||
|
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"># if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)</span></div>
|
||||||
|
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"># undef isfinite</span></div>
|
||||||
|
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"># endif</span></div>
|
||||||
|
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#endif//GLM_COMPILER</span></div>
|
||||||
|
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||||
|
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">namespace </span><a class="code" href="a00141.html">glm</a></div>
|
||||||
|
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> {</div>
|
||||||
|
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||||
|
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00187.html#ga5494ba3a95ea6594c86fc75236886864"> 38</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="a00187.html#ga0aa79a146332650a1eb18ae996c653fe"> 39</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec2<T, P>& x, <span class="keyword">const</span> tvec2<T, P>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||||
|
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="a00187.html#gaf4c885ac72b8879b05777cb516c555c9"> 41</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec3<T, P>& x, <span class="keyword">const</span> tvec3<T, P>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="a00187.html#ga363d5d069d31a6c2cdd1e9589dde4a60"> 42</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec4<T, P>& x, <span class="keyword">const</span> tvec4<T, P>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="a00187.html#ga7609b44d8aefc5a277efe73395ff4070"> 43</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec2<T, P>& x, <span class="keyword">const</span> tvec2<T, P>& y, <span class="keyword">const</span> tvec2<T, P>& a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a00187.html#ga90a1d1364a8d078846857178bdcc9af1"> 44</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec3<T, P>& x, <span class="keyword">const</span> tvec3<T, P>& y, <span class="keyword">const</span> tvec3<T, P>& a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379"> 45</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> <a class="code" href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">lerp</a>(<span class="keyword">const</span> tvec4<T, P>& x, <span class="keyword">const</span> tvec4<T, P>& y, <span class="keyword">const</span> tvec4<T, P>& a){<span class="keywordflow">return</span> <a class="code" href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">mix</a>(x, y, a);} </div>
|
||||||
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||||
|
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00187.html#ga0fd09e616d122bc2ed9726682ffd44b7"> 47</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER T <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(T x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||||
|
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00187.html#ga5815a26488231dfdf92242cf0c2d2107"> 48</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(<span class="keyword">const</span> tvec2<T, P>& x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||||
|
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="a00187.html#ga02ed1a53c6df104d56b69f8fb5e9af1b"> 49</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(<span class="keyword">const</span> tvec3<T, P>& x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||||
|
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00187.html#ga63791409bdef9745b956406afe3157f1"> 50</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> <a class="code" href="a00187.html#ga63791409bdef9745b956406afe3157f1">saturate</a>(<span class="keyword">const</span> tvec4<T, P>& x){<span class="keywordflow">return</span> <a class="code" href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||||
|
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
|
||||||
|
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00187.html#gac63011205bf6d0be82589dc56dd26708"> 52</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER T <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
|
||||||
|
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="a00187.html#ga525f3e849d0fc64807f8ab571b4545f9"> 53</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec2<T, P> <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(<span class="keyword">const</span> tvec2<T, P>& x, <span class="keyword">const</span> tvec2<T, P>& y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
|
||||||
|
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="a00187.html#gad328042b6734d3f2c49c0ec1328b14c0"> 54</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec3<T, P> <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(<span class="keyword">const</span> tvec3<T, P>& x, <span class="keyword">const</span> tvec3<T, P>& y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
|
||||||
|
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5"> 55</a></span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_QUALIFIER tvec4<T, P> <a class="code" href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">atan2</a>(<span class="keyword">const</span> tvec4<T, P>& x, <span class="keyword">const</span> tvec4<T, P>& y){<span class="keywordflow">return</span> <a class="code" href="a00152.html#ga461e769acb8b8cb695a5a89334546611">atan</a>(x, y);} </div>
|
||||||
|
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||||
|
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> genType> GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(genType <span class="keyword">const</span> & x); </div>
|
||||||
|
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_DECL tvec1<bool, P> <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec1<T, P>& x); </div>
|
||||||
|
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_DECL tvec2<bool, P> <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec2<T, P>& x); </div>
|
||||||
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_DECL tvec3<bool, P> <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec3<T, P>& x); </div>
|
||||||
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T, precision P> GLM_FUNC_DECL tvec4<bool, P> <a class="code" href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">isfinite</a>(<span class="keyword">const</span> tvec4<T, P>& x); </div>
|
||||||
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
|
||||||
|
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e"> 63</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">bool1</a>; </div>
|
||||||
|
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d"> 64</a></span>  <span class="keyword">typedef</span> tvec2<bool, highp> <a class="code" href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">bool2</a>; </div>
|
||||||
|
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659"> 65</a></span>  <span class="keyword">typedef</span> tvec3<bool, highp> <a class="code" href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">bool3</a>; </div>
|
||||||
|
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="a00187.html#ga6e79dbfab5917c467a154638ba27898e"> 66</a></span>  <span class="keyword">typedef</span> tvec4<bool, highp> <a class="code" href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">bool4</a>; </div>
|
||||||
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||||
|
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="a00187.html#ga7f895c936f0c29c8729afbbf22806090"> 68</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">bool1x1</a>; </div>
|
||||||
|
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="a00187.html#ga2bfb53bc320966c85149934fffb0329d"> 69</a></span>  <span class="keyword">typedef</span> tmat2x2<bool, highp> <a class="code" href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">bool2x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="a00187.html#gad02e7dff74039bb1454643e293d85dfe"> 70</a></span>  <span class="keyword">typedef</span> tmat2x3<bool, highp> <a class="code" href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">bool2x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7"> 71</a></span>  <span class="keyword">typedef</span> tmat2x4<bool, highp> <a class="code" href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">bool2x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7"> 72</a></span>  <span class="keyword">typedef</span> tmat3x2<bool, highp> <a class="code" href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">bool3x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="a00187.html#gae621c9eabcba552eea5f6ade1f403605"> 73</a></span>  <span class="keyword">typedef</span> tmat3x3<bool, highp> <a class="code" href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">bool3x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="a00187.html#gad13f8250579ebf79760dcf64215ddb17"> 74</a></span>  <span class="keyword">typedef</span> tmat3x4<bool, highp> <a class="code" href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">bool3x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db"> 75</a></span>  <span class="keyword">typedef</span> tmat4x2<bool, highp> <a class="code" href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">bool4x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb"> 76</a></span>  <span class="keyword">typedef</span> tmat4x3<bool, highp> <a class="code" href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">bool4x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a00187.html#ga9770607032813e7b0ca7362a47efea1e"> 77</a></span>  <span class="keyword">typedef</span> tmat4x4<bool, highp> <a class="code" href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">bool4x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
|
||||||
|
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3"> 79</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">int1</a>; </div>
|
||||||
|
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700"> 80</a></span>  <span class="keyword">typedef</span> tvec2<int, highp> <a class="code" href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">int2</a>; </div>
|
||||||
|
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88"> 81</a></span>  <span class="keyword">typedef</span> tvec3<int, highp> <a class="code" href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">int3</a>; </div>
|
||||||
|
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="a00187.html#gab19c2df22e9b14081390fabd074081f1"> 82</a></span>  <span class="keyword">typedef</span> tvec4<int, highp> <a class="code" href="a00187.html#gab19c2df22e9b14081390fabd074081f1">int4</a>; </div>
|
||||||
|
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||||
|
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a"> 84</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">int1x1</a>; </div>
|
||||||
|
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc"> 85</a></span>  <span class="keyword">typedef</span> tmat2x2<int, highp> <a class="code" href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">int2x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434"> 86</a></span>  <span class="keyword">typedef</span> tmat2x3<int, highp> <a class="code" href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">int2x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e"> 87</a></span>  <span class="keyword">typedef</span> tmat2x4<int, highp> <a class="code" href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">int2x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="a00187.html#gaa98b1a06b802c975f02a5583f43632db"> 88</a></span>  <span class="keyword">typedef</span> tmat3x2<int, highp> <a class="code" href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">int3x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f"> 89</a></span>  <span class="keyword">typedef</span> tmat3x3<int, highp> <a class="code" href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">int3x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="a00187.html#ga7b00c53838143bce963177122ab92c39"> 90</a></span>  <span class="keyword">typedef</span> tmat3x4<int, highp> <a class="code" href="a00187.html#ga7b00c53838143bce963177122ab92c39">int3x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="a00187.html#gaa53815539021200c4e10fd282832dcd3"> 91</a></span>  <span class="keyword">typedef</span> tmat4x2<int, highp> <a class="code" href="a00187.html#gaa53815539021200c4e10fd282832dcd3">int4x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe"> 92</a></span>  <span class="keyword">typedef</span> tmat4x3<int, highp> <a class="code" href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">int4x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d"> 93</a></span>  <span class="keyword">typedef</span> tmat4x4<int, highp> <a class="code" href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">int4x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||||
|
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead"> 95</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">float1</a>; </div>
|
||||||
|
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="a00187.html#ga872a70333dd25af68b1ebba485be9e42"> 96</a></span>  <span class="keyword">typedef</span> tvec2<float, highp> <a class="code" href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">float2</a>; </div>
|
||||||
|
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="a00187.html#ga2bfa618285894e34f299e4984f092d56"> 97</a></span>  <span class="keyword">typedef</span> tvec3<float, highp> <a class="code" href="a00187.html#ga2bfa618285894e34f299e4984f092d56">float3</a>; </div>
|
||||||
|
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b"> 98</a></span>  <span class="keyword">typedef</span> tvec4<float, highp> <a class="code" href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">float4</a>; </div>
|
||||||
|
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||||
|
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c"> 100</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">float1x1</a>; </div>
|
||||||
|
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e"> 101</a></span>  <span class="keyword">typedef</span> tmat2x2<float, highp> <a class="code" href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">float2x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b"> 102</a></span>  <span class="keyword">typedef</span> tmat2x3<float, highp> <a class="code" href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">float2x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde"> 103</a></span>  <span class="keyword">typedef</span> tmat2x4<float, highp> <a class="code" href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">float2x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff"> 104</a></span>  <span class="keyword">typedef</span> tmat3x2<float, highp> <a class="code" href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">float3x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363"> 105</a></span>  <span class="keyword">typedef</span> tmat3x3<float, highp> <a class="code" href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">float3x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e"> 106</a></span>  <span class="keyword">typedef</span> tmat3x4<float, highp> <a class="code" href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">float3x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8"> 107</a></span>  <span class="keyword">typedef</span> tmat4x2<float, highp> <a class="code" href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">float4x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="a00187.html#gad749b26be059f35394fd71c7f7a44034"> 108</a></span>  <span class="keyword">typedef</span> tmat4x3<float, highp> <a class="code" href="a00187.html#gad749b26be059f35394fd71c7f7a44034">float4x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="a00187.html#gaf40529862492ded2f3b96a6c886f6136"> 109</a></span>  <span class="keyword">typedef</span> tmat4x4<float, highp> <a class="code" href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">float4x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
|
||||||
|
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="a00187.html#ga20b861a9b6e2a300323671c57a02525b"> 111</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">double1</a>; </div>
|
||||||
|
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e"> 112</a></span>  <span class="keyword">typedef</span> tvec2<double, highp> <a class="code" href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">double2</a>; </div>
|
||||||
|
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391"> 113</a></span>  <span class="keyword">typedef</span> tvec3<double, highp> <a class="code" href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">double3</a>; </div>
|
||||||
|
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56"> 114</a></span>  <span class="keyword">typedef</span> tvec4<double, highp> <a class="code" href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">double4</a>; </div>
|
||||||
|
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||||
|
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8"> 116</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">double1x1</a>; </div>
|
||||||
|
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7"> 117</a></span>  <span class="keyword">typedef</span> tmat2x2<double, highp> <a class="code" href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">double2x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7"> 118</a></span>  <span class="keyword">typedef</span> tmat2x3<double, highp> <a class="code" href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">double2x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e"> 119</a></span>  <span class="keyword">typedef</span> tmat2x4<double, highp> <a class="code" href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">double2x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6"> 120</a></span>  <span class="keyword">typedef</span> tmat3x2<double, highp> <a class="code" href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">double3x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a"> 121</a></span>  <span class="keyword">typedef</span> tmat3x3<double, highp> <a class="code" href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">double3x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413"> 122</a></span>  <span class="keyword">typedef</span> tmat3x4<double, highp> <a class="code" href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">double3x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="a00187.html#ga2f87500119da15e35e4a74780ba512bd"> 123</a></span>  <span class="keyword">typedef</span> tmat4x2<double, highp> <a class="code" href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">double4x2</a>; </div>
|
||||||
|
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37"> 124</a></span>  <span class="keyword">typedef</span> tmat4x3<double, highp> <a class="code" href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">double4x3</a>; </div>
|
||||||
|
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6"> 125</a></span>  <span class="keyword">typedef</span> tmat4x4<double, highp> <a class="code" href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">double4x4</a>; </div>
|
||||||
|
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||||
|
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }<span class="comment">//namespace glm</span></div>
|
||||||
|
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
|
||||||
|
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#include "compatibility.inl"</span></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga056ffe02d3a45af626f8e62221881c7a"><div class="ttname"><a href="a00187.html#ga056ffe02d3a45af626f8e62221881c7a">glm::int1x1</a></div><div class="ttdeci">int int1x1</div><div class="ttdoc">integer matrix with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00084">compatibility.hpp:84</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gae621c9eabcba552eea5f6ade1f403605"><div class="ttname"><a href="a00187.html#gae621c9eabcba552eea5f6ade1f403605">glm::bool3x3</a></div><div class="ttdeci">tmat3x3< bool, highp > bool3x3</div><div class="ttdoc">boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00073">compatibility.hpp:73</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga2692a729a69615d72dbebbdd0eba2363"><div class="ttname"><a href="a00187.html#ga2692a729a69615d72dbebbdd0eba2363">glm::float3x3</a></div><div class="ttdeci">tmat3x3< float, highp > float3x3</div><div class="ttdoc">single-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00105">compatibility.hpp:105</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gad5da9e1b4e0c64c5436b5696ab49540e"><div class="ttname"><a href="a00187.html#gad5da9e1b4e0c64c5436b5696ab49540e">glm::int2x4</a></div><div class="ttdeci">tmat2x4< int, highp > int2x4</div><div class="ttdoc">integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00087">compatibility.hpp:87</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gab2ce4c366abc06c8bf7fe097ecea0dde"><div class="ttname"><a href="a00187.html#gab2ce4c366abc06c8bf7fe097ecea0dde">glm::float2x4</a></div><div class="ttdeci">tmat2x4< float, highp > float2x4</div><div class="ttdoc">single-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00103">compatibility.hpp:103</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gad749b26be059f35394fd71c7f7a44034"><div class="ttname"><a href="a00187.html#gad749b26be059f35394fd71c7f7a44034">glm::float4x3</a></div><div class="ttdeci">tmat4x3< float, highp > float4x3</div><div class="ttdoc">single-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00108">compatibility.hpp:108</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga20b861a9b6e2a300323671c57a02525b"><div class="ttname"><a href="a00187.html#ga20b861a9b6e2a300323671c57a02525b">glm::double1</a></div><div class="ttdeci">double double1</div><div class="ttdoc">double-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00111">compatibility.hpp:111</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga320d0a71a4ad9f14a1992d40546cffa7"><div class="ttname"><a href="a00187.html#ga320d0a71a4ad9f14a1992d40546cffa7">glm::double2x2</a></div><div class="ttdeci">tmat2x2< double, highp > double2x2</div><div class="ttdoc">double-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00117">compatibility.hpp:117</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaad84a1ea83be8fce04c1570c5e719413"><div class="ttname"><a href="a00187.html#gaad84a1ea83be8fce04c1570c5e719413">glm::double3x4</a></div><div class="ttdeci">tmat3x4< double, highp > double3x4</div><div class="ttdoc">double-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00122">compatibility.hpp:122</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gab1c5d0631a6ae34e28bfb2851da387cc"><div class="ttname"><a href="a00187.html#gab1c5d0631a6ae34e28bfb2851da387cc">glm::int2x2</a></div><div class="ttdeci">tmat2x2< int, highp > int2x2</div><div class="ttdoc">integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00085">compatibility.hpp:85</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga2eca687990bf3a08ef28bc4a9f2fe700"><div class="ttname"><a href="a00187.html#ga2eca687990bf3a08ef28bc4a9f2fe700">glm::int2</a></div><div class="ttdeci">tvec2< int, highp > int2</div><div class="ttdoc">integer vector with 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00080">compatibility.hpp:80</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaed4bc64196bd25d46f6a1f417320a391"><div class="ttname"><a href="a00187.html#gaed4bc64196bd25d46f6a1f417320a391">glm::double3</a></div><div class="ttdeci">tvec3< double, highp > double3</div><div class="ttdoc">double-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00113">compatibility.hpp:113</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gae4b0244b0d882657bed0a99dfa33f379"><div class="ttname"><a href="a00187.html#gae4b0244b0d882657bed0a99dfa33f379">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER tvec4< T, P > lerp(const tvec4< T, P > &x, const tvec4< T, P > &y, const tvec4< T, P > &a)</div><div class="ttdoc">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00045">compatibility.hpp:45</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga20c4d23defbc123ac4745c9b4262156f"><div class="ttname"><a href="a00187.html#ga20c4d23defbc123ac4745c9b4262156f">glm::int3x3</a></div><div class="ttdeci">tmat3x3< int, highp > int3x3</div><div class="ttdoc">integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00089">compatibility.hpp:89</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gac934f579ee5cf3cbdbb25b73f2640c0a"><div class="ttname"><a href="a00187.html#gac934f579ee5cf3cbdbb25b73f2640c0a">glm::double3x3</a></div><div class="ttdeci">tmat3x3< double, highp > double3x3</div><div class="ttdoc">double-precision floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00121">compatibility.hpp:121</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gad02e7dff74039bb1454643e293d85dfe"><div class="ttname"><a href="a00187.html#gad02e7dff74039bb1454643e293d85dfe">glm::bool2x3</a></div><div class="ttdeci">tmat2x3< bool, highp > bool2x3</div><div class="ttdoc">boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00070">compatibility.hpp:70</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga9770607032813e7b0ca7362a47efea1e"><div class="ttname"><a href="a00187.html#ga9770607032813e7b0ca7362a47efea1e">glm::bool4x4</a></div><div class="ttdeci">tmat4x4< bool, highp > bool4x4</div><div class="ttdoc">boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00077">compatibility.hpp:77</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga83e4c62ab1addfe708dc3409cc0e5dfb"><div class="ttname"><a href="a00187.html#ga83e4c62ab1addfe708dc3409cc0e5dfb">glm::bool4x3</a></div><div class="ttdeci">tmat4x3< bool, highp > bool4x3</div><div class="ttdoc">boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00076">compatibility.hpp:76</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaad93cbc2b863e363d53d405d0451d03e"><div class="ttname"><a href="a00187.html#gaad93cbc2b863e363d53d405d0451d03e">glm::float2x2</a></div><div class="ttdeci">tmat2x2< float, highp > float2x2</div><div class="ttdoc">single-precision floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00101">compatibility.hpp:101</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga63791409bdef9745b956406afe3157f1"><div class="ttname"><a href="a00187.html#ga63791409bdef9745b956406afe3157f1">glm::saturate</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER tvec4< T, P > saturate(const tvec4< T, P > &x)</div><div class="ttdoc">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00050">compatibility.hpp:50</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gafa8d0bc8dfa7eeb928208305714f648d"><div class="ttname"><a href="a00187.html#gafa8d0bc8dfa7eeb928208305714f648d">glm::bool2</a></div><div class="ttdeci">tvec2< bool, highp > bool2</div><div class="ttdoc">boolean type with 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00064">compatibility.hpp:64</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga8c6a59e2f2ac84fba0c5932f1c35bf7a"><div class="ttname"><a href="a00187.html#ga8c6a59e2f2ac84fba0c5932f1c35bf7a">glm::isfinite</a></div><div class="ttdeci">GLM_FUNC_DECL tvec4< bool, P > isfinite(const tvec4< T, P > &x)</div><div class="ttdoc">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...</div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga5d49ed44dd9a9e944abc30371fc9045b"><div class="ttname"><a href="a00187.html#ga5d49ed44dd9a9e944abc30371fc9045b">glm::float4</a></div><div class="ttdeci">tvec4< float, highp > float4</div><div class="ttdoc">single-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00098">compatibility.hpp:98</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaf40529862492ded2f3b96a6c886f6136"><div class="ttname"><a href="a00187.html#gaf40529862492ded2f3b96a6c886f6136">glm::float4x4</a></div><div class="ttdeci">tmat4x4< float, highp > float4x4</div><div class="ttdoc">single-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00109">compatibility.hpp:109</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga39a2af7aa8f2d29ca40afd2256c0e7c8"><div class="ttname"><a href="a00187.html#ga39a2af7aa8f2d29ca40afd2256c0e7c8">glm::float4x2</a></div><div class="ttdeci">tmat4x2< float, highp > float4x2</div><div class="ttdoc">single-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00107">compatibility.hpp:107</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaf5208d01f6c6fbcb7bb55d610b9c0ead"><div class="ttname"><a href="a00187.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">glm::float1</a></div><div class="ttdeci">float float1</div><div class="ttdoc">single-precision floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00095">compatibility.hpp:95</a></div></div>
|
||||||
|
<div class="ttc" id="a00141_html"><div class="ttname"><a href="a00141.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00003_source.html#l00011">_noise.hpp:11</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaf30014e7b6874f45d58eb580d04764ff"><div class="ttname"><a href="a00187.html#gaf30014e7b6874f45d58eb580d04764ff">glm::float3x2</a></div><div class="ttdeci">tmat3x2< float, highp > float3x2</div><div class="ttdoc">single-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00104">compatibility.hpp:104</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga2f87500119da15e35e4a74780ba512bd"><div class="ttname"><a href="a00187.html#ga2f87500119da15e35e4a74780ba512bd">glm::double4x2</a></div><div class="ttdeci">tmat4x2< double, highp > double4x2</div><div class="ttdoc">double-precision floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00123">compatibility.hpp:123</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaa4e6d53c03780dfa76bd399324f9fe37"><div class="ttname"><a href="a00187.html#gaa4e6d53c03780dfa76bd399324f9fe37">glm::double4x3</a></div><div class="ttdeci">tmat4x3< double, highp > double4x3</div><div class="ttdoc">double-precision floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00124">compatibility.hpp:124</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga45f16a4dd0db1f199afaed9fd12fe9a8"><div class="ttname"><a href="a00187.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">glm::double1x1</a></div><div class="ttdeci">double double1x1</div><div class="ttdoc">double-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00116">compatibility.hpp:116</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaa53815539021200c4e10fd282832dcd3"><div class="ttname"><a href="a00187.html#gaa53815539021200c4e10fd282832dcd3">glm::int4x2</a></div><div class="ttdeci">tmat4x2< int, highp > int4x2</div><div class="ttdoc">integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00091">compatibility.hpp:91</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gab19c2df22e9b14081390fabd074081f1"><div class="ttname"><a href="a00187.html#gab19c2df22e9b14081390fabd074081f1">glm::int4</a></div><div class="ttdeci">tvec4< int, highp > int4</div><div class="ttdoc">integer vector with 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00082">compatibility.hpp:82</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gab8d74ea4c4f4bd980b650ffb27cdb659"><div class="ttname"><a href="a00187.html#gab8d74ea4c4f4bd980b650ffb27cdb659">glm::bool3</a></div><div class="ttdeci">tvec3< bool, highp > bool3</div><div class="ttdoc">boolean type with 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00065">compatibility.hpp:65</a></div></div>
|
||||||
|
<div class="ttc" id="a00146_html_gadccbaffe46f369cf1a96b2aef92cbfdd"><div class="ttname"><a href="a00146.html#gadccbaffe46f369cf1a96b2aef92cbfdd">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > mix(vecType< T, P > const &x, vecType< T, P > const &y, vecType< U, P > const &a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
|
||||||
|
<div class="ttc" id="a00152_html_ga461e769acb8b8cb695a5a89334546611"><div class="ttname"><a href="a00152.html#ga461e769acb8b8cb695a5a89334546611">glm::atan</a></div><div class="ttdeci">GLM_FUNC_DECL vecType< T, P > atan(vecType< T, P > const &y, vecType< T, P > const &x)</div><div class="ttdoc">Arc tangent. </div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaa98b1a06b802c975f02a5583f43632db"><div class="ttname"><a href="a00187.html#gaa98b1a06b802c975f02a5583f43632db">glm::int3x2</a></div><div class="ttdeci">tmat3x2< int, highp > int3x2</div><div class="ttdoc">integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00088">compatibility.hpp:88</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaeaac4d0e18164e4d2fe54432c0fbbcf6"><div class="ttname"><a href="a00187.html#gaeaac4d0e18164e4d2fe54432c0fbbcf6">glm::double3x2</a></div><div class="ttdeci">tmat3x2< double, highp > double3x2</div><div class="ttdoc">double-precision floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00120">compatibility.hpp:120</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga09d39c391a509a045b6c7061f15bdff5"><div class="ttname"><a href="a00187.html#ga09d39c391a509a045b6c7061f15bdff5">glm::atan2</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER tvec4< T, P > atan2(const tvec4< T, P > &x, const tvec4< T, P > &y)</div><div class="ttdoc">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00055">compatibility.hpp:55</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gab8bbb086c9a6c2deffbe0e80afd6be56"><div class="ttname"><a href="a00187.html#gab8bbb086c9a6c2deffbe0e80afd6be56">glm::double4</a></div><div class="ttdeci">tvec4< double, highp > double4</div><div class="ttdoc">double-precision floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00114">compatibility.hpp:114</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga184ee05ac2bbbf0a91dd364ba8e528db"><div class="ttname"><a href="a00187.html#ga184ee05ac2bbbf0a91dd364ba8e528db">glm::bool4x2</a></div><div class="ttdeci">tmat4x2< bool, highp > bool4x2</div><div class="ttdoc">boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00075">compatibility.hpp:75</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaf923922adf744404d5bfb3fafb7d0d8e"><div class="ttname"><a href="a00187.html#gaf923922adf744404d5bfb3fafb7d0d8e">glm::double2x4</a></div><div class="ttdeci">tmat2x4< double, highp > double2x4</div><div class="ttdoc">double-precision floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00119">compatibility.hpp:119</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga4a3bf0ecd6f6ff60836c5bee26c14abe"><div class="ttname"><a href="a00187.html#ga4a3bf0ecd6f6ff60836c5bee26c14abe">glm::int4x3</a></div><div class="ttdeci">tmat4x3< int, highp > int4x3</div><div class="ttdoc">integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00092">compatibility.hpp:92</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gade37cf30c69bacb41ceea7e32717eac7"><div class="ttname"><a href="a00187.html#gade37cf30c69bacb41ceea7e32717eac7">glm::double2x3</a></div><div class="ttdeci">tmat2x3< double, highp > double2x3</div><div class="ttdoc">double-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00118">compatibility.hpp:118</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga098c33a30f901f4f6a76969d6db6b01b"><div class="ttname"><a href="a00187.html#ga098c33a30f901f4f6a76969d6db6b01b">glm::float2x3</a></div><div class="ttdeci">tmat2x3< float, highp > float2x3</div><div class="ttdoc">single-precision floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00102">compatibility.hpp:102</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga7b00c53838143bce963177122ab92c39"><div class="ttname"><a href="a00187.html#ga7b00c53838143bce963177122ab92c39">glm::int3x4</a></div><div class="ttdeci">tmat3x4< int, highp > int3x4</div><div class="ttdoc">integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00090">compatibility.hpp:90</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga379c0869949e8a69c3d06d7637caa5d7"><div class="ttname"><a href="a00187.html#ga379c0869949e8a69c3d06d7637caa5d7">glm::bool2x4</a></div><div class="ttdeci">tmat2x4< bool, highp > bool2x4</div><div class="ttdoc">boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00071">compatibility.hpp:71</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga3bacf576b4b29f2f2959abff7a36652d"><div class="ttname"><a href="a00187.html#ga3bacf576b4b29f2f2959abff7a36652d">glm::int4x4</a></div><div class="ttdeci">tmat4x4< int, highp > int4x4</div><div class="ttdoc">integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00093">compatibility.hpp:93</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga0670a2111b5e4a6410bd027fa0232fc3"><div class="ttname"><a href="a00187.html#ga0670a2111b5e4a6410bd027fa0232fc3">glm::int1</a></div><div class="ttdeci">int int1</div><div class="ttdoc">integer vector with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00079">compatibility.hpp:79</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga872a70333dd25af68b1ebba485be9e42"><div class="ttname"><a href="a00187.html#ga872a70333dd25af68b1ebba485be9e42">glm::float2</a></div><div class="ttdeci">tvec2< float, highp > float2</div><div class="ttdoc">single-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00096">compatibility.hpp:96</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga2bfb53bc320966c85149934fffb0329d"><div class="ttname"><a href="a00187.html#ga2bfb53bc320966c85149934fffb0329d">glm::bool2x2</a></div><div class="ttdeci">tmat2x2< bool, highp > bool2x2</div><div class="ttdoc">boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00069">compatibility.hpp:69</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga6e79dbfab5917c467a154638ba27898e"><div class="ttname"><a href="a00187.html#ga6e79dbfab5917c467a154638ba27898e">glm::bool4</a></div><div class="ttdeci">tvec4< bool, highp > bool4</div><div class="ttdoc">boolean type with 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00066">compatibility.hpp:66</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga686a3a5590f0a0e721faba08bda301d6"><div class="ttname"><a href="a00187.html#ga686a3a5590f0a0e721faba08bda301d6">glm::double4x4</a></div><div class="ttdeci">tmat4x4< double, highp > double4x4</div><div class="ttdoc">double-precision floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00125">compatibility.hpp:125</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaddcd7aa2e30e61af5b38660613d3979e"><div class="ttname"><a href="a00187.html#gaddcd7aa2e30e61af5b38660613d3979e">glm::bool1</a></div><div class="ttdeci">bool bool1</div><div class="ttdoc">boolean type with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00063">compatibility.hpp:63</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gad13f8250579ebf79760dcf64215ddb17"><div class="ttname"><a href="a00187.html#gad13f8250579ebf79760dcf64215ddb17">glm::bool3x4</a></div><div class="ttdeci">tmat3x4< bool, highp > bool3x4</div><div class="ttdoc">boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00074">compatibility.hpp:74</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga0fc7ecb53df5be5f9d766fbbfe5190d7"><div class="ttname"><a href="a00187.html#ga0fc7ecb53df5be5f9d766fbbfe5190d7">glm::bool3x2</a></div><div class="ttdeci">tmat3x2< bool, highp > bool3x2</div><div class="ttdoc">boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00072">compatibility.hpp:72</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gac38c8929ccc87a2dc81eaab97ad5190e"><div class="ttname"><a href="a00187.html#gac38c8929ccc87a2dc81eaab97ad5190e">glm::float3x4</a></div><div class="ttdeci">tmat3x4< float, highp > float3x4</div><div class="ttdoc">single-precision floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00106">compatibility.hpp:106</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga6dc93f0794eb5fadd7f68b85141a2434"><div class="ttname"><a href="a00187.html#ga6dc93f0794eb5fadd7f68b85141a2434">glm::int2x3</a></div><div class="ttdeci">tmat2x3< int, highp > int2x3</div><div class="ttdoc">integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00086">compatibility.hpp:86</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga2bfa618285894e34f299e4984f092d56"><div class="ttname"><a href="a00187.html#ga2bfa618285894e34f299e4984f092d56">glm::float3</a></div><div class="ttdeci">tvec3< float, highp > float3</div><div class="ttdoc">single-precision floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00097">compatibility.hpp:97</a></div></div>
|
||||||
|
<div class="ttc" id="a00146_html_ga93bce26c7d80d30a62f5c508f8498a6c"><div class="ttname"><a href="a00146.html#ga93bce26c7d80d30a62f5c508f8498a6c">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaaa6ceedf08a85e5fd73a482bc8b77b88"><div class="ttname"><a href="a00187.html#gaaa6ceedf08a85e5fd73a482bc8b77b88">glm::int3</a></div><div class="ttdeci">tvec3< int, highp > int3</div><div class="ttdoc">integer vector with 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00081">compatibility.hpp:81</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga73720b8dc4620835b17f74d428f98c0c"><div class="ttname"><a href="a00187.html#ga73720b8dc4620835b17f74d428f98c0c">glm::float1x1</a></div><div class="ttdeci">float float1x1</div><div class="ttdoc">single-precision floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00100">compatibility.hpp:100</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_gaa16a13c6f2768e83ca133430e82ab89e"><div class="ttname"><a href="a00187.html#gaa16a13c6f2768e83ca133430e82ab89e">glm::double2</a></div><div class="ttdeci">tvec2< double, highp > double2</div><div class="ttdoc">double-precision floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00112">compatibility.hpp:112</a></div></div>
|
||||||
|
<div class="ttc" id="a00187_html_ga7f895c936f0c29c8729afbbf22806090"><div class="ttname"><a href="a00187.html#ga7f895c936f0c29c8729afbbf22806090">glm::bool1x1</a></div><div class="ttdeci">bool bool1x1</div><div class="ttdoc">boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00016_source.html#l00068">compatibility.hpp:68</a></div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
93
thirdparty/glm/doc/api/a00017.html
vendored
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||||
|
<title>0.9.8: component_wise.hpp File Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">0.9.8
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.8.10 -->
|
||||||
|
<div id="navrow1" class="tabs">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||||
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||||
|
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="navrow2" class="tabs2">
|
||||||
|
<ul class="tablist">
|
||||||
|
<li><a href="files.html"><span>File List</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_275089585c7fc1b5fd5d7d42c69cb1da.html">D:</a></li><li class="navelem"><a class="el" href="dir_7b98f88bffbed4b390b5f8f520d9c08e.html">Source</a></li><li class="navelem"><a class="el" href="dir_1f76e953200861345293ade84ac7fb6c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_e29b03b892e0e25920d021a614d4db9b.html">glm</a></li><li class="navelem"><a class="el" href="dir_5ce58d942b2d0776e17a9a58abc01e04.html">glm</a></li><li class="navelem"><a class="el" href="dir_8d176b5b7dd0ae42ea6876078f2bde49.html">gtx</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#func-members">Functions</a> </div>
|
||||||
|
<div class="headertitle">
|
||||||
|
<div class="title">component_wise.hpp File Reference</div> </div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p><a href="a00017_source.html">Go to the source code of this file.</a></p>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||||
|
Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||||
|
<tr class="memitem:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gaf71833350e15e74d31cbf8a3e7f27051">compAdd</a> (genType const &v)</td></tr>
|
||||||
|
<tr class="separator:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||||
|
<tr class="memitem:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gabfa4bb19298c8c73d4217ba759c496b6">compMax</a> (genType const &v)</td></tr>
|
||||||
|
<tr class="separator:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||||
|
<tr class="memitem:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gab5d0832b5c7bb01b8d7395973bfb1425">compMin</a> (genType const &v)</td></tr>
|
||||||
|
<tr class="separator:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||||
|
<tr class="memitem:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gae8ab88024197202c9479d33bdc5a8a5d">compMul</a> (genType const &v)</td></tr>
|
||||||
|
<tr class="separator:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaeb34fdf090d2d4da9babcdfec267f09e"><td class="memTemplParams" colspan="2">template<typename floatType , typename T , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gaeb34fdf090d2d4da9babcdfec267f09e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< floatType, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gaeb34fdf090d2d4da9babcdfec267f09e">compNormalize</a> (vecType< T, P > const &v)</td></tr>
|
||||||
|
<tr class="separator:gaeb34fdf090d2d4da9babcdfec267f09e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:gaea99a3271016bfd331d9fa7587f3db37"><td class="memTemplParams" colspan="2">template<typename T , typename floatType , precision P, template< typename, precision > class vecType> </td></tr>
|
||||||
|
<tr class="memitem:gaea99a3271016bfd331d9fa7587f3db37"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vecType< T, P > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00188.html#gaea99a3271016bfd331d9fa7587f3db37">compScale</a> (vecType< floatType, P > const &v)</td></tr>
|
||||||
|
<tr class="separator:gaea99a3271016bfd331d9fa7587f3db37"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p><a class="el" href="a00188.html">GLM_GTX_component_wise</a> </p>
|
||||||
|
<dl class="section date"><dt>Date</dt><dd>2007-05-21 / 2011-06-07 </dd></dl>
|
||||||
|
<dl class="section author"><dt>Author</dt><dd>Christophe Riccio</dd></dl>
|
||||||
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00156.html" title="The core of GLM, which implements exactly and only the GLSL specification to the degree possible...">GLM Core</a> (dependence) </dd></dl>
|
||||||
|
|
||||||
|
<p>Definition in file <a class="el" href="a00017_source.html">component_wise.hpp</a>.</p>
|
||||||
|
</div></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||||
|
</a> 1.8.10
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||