|
facebook360_dep
Facebook360 Depth Estimation Pipeline
|
A multi-window, OS independent opengl window. More...
#include <GlfwUtil.h>
Public Types | |
| enum | ScreenState : unsigned { ON_SCREEN = 0x1, OFF_SCREEN = 0x2, BOTH_SCREEN = 0x3 } |
Public Member Functions | |
| GlWindow () | |
| Off-screen window constructor. More... | |
| GlWindow (const std::string &name, const int width, const int height, const bool borderless=false, const int outputBPP=8, const ScreenState screenState=ON_SCREEN) | |
| On-screen window constructor. More... | |
| virtual | ~GlWindow () |
Static Public Member Functions | |
| static void | mainLoop () |
Protected Member Functions | |
| virtual void | updateTransform () |
| virtual void | reshape (const int w, const int h) |
| virtual void | mouse (const int button, const int action, const int mods) |
| virtual void | motion (const double x, const double y) |
| virtual void | keyPress (const int key, const int s, const int action, const int mods) |
| void | resetTransformState () |
| virtual void | display ()=0 |
Protected Attributes | |
| const ScreenState | screenState |
| int | mouseButton |
| int | mouseAction |
| int | mouseMods |
| Eigen::Vector2f | mousePos |
| Eigen::Vector2i | viewport |
| float | scale |
| Eigen::Projective3f | projection |
| Eigen::Affine3f | transform = Eigen::Affine3f::Identity() |
| Eigen::Vector3f | up |
| float | pitch |
| float | yaw |
| Eigen::Vector3f | origin |
| bool | wireframe |
| bool | done |
| std::string | name |
| int | width |
| int | height |
| GLFWwindow * | window |
| GLuint | fbo |
A multi-window, OS independent opengl window.
Copyright 2004-present Facebook. All Rights Reserved.
This source code is licensed under the BSD-style license found in the LICENSE file in the root directory of this source tree.
Abstracts the glfw window across multiple instances and factors out code common to all glfw windows into the base class.
The fundamental idea behind the window abstract is that the common cases should be simple and intuitive. In particular:
An instance with no arguments to the constructor creates an offscreen window. All on screen instances require a window name, width, and height.
These two are the most common cases so the idea is that we make it easy to create those. All the extra constructor arguments are designed for more complicated arrangements like borderless windows or windows that have both on and offscreen buffers.
| enum GlWindow::ScreenState : unsigned |
|
inline |
Off-screen window constructor.
|
inline |
On-screen window constructor.
| width | |
| Window | name that appears in the border. required |
| height | |
| Window | width in pixels. required |
| borderless | |
| Window | height in pixels. required |
| outputBPP | |
| Enable | borderless windows, default=false. |
| screenState | |
| Bits | per pixel, default=8. |
| Enable | offscreen rendering or both. Default = ON_SCREEN |
|
inlinevirtual |
|
protectedpure virtual |
Implemented in OffscreenWindow, SimpleMeshWindow, GlViewer, OffscreenWindow, and GlOffscreenWindow.
|
inlineprotectedvirtual |
Reimplemented in SimpleMeshWindow, and GlViewer.
|
inlinestatic |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotected |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
1.8.15