Powered by OpenAIRE graph
Found an issue? Give us feedback
addClaim

Computer Graphics

From Pixels to Programmable Graphics Hardware
Authors: Alexey Boreskov; Evgeniy Shikin;

Computer Graphics

Abstract

Introduction: Basic Concepts Coordinate spaces, transformations Graphics pipeline Working with the windowing system Colors. Color models Raster algorithms Hidden surface removal Lighting models and shading Transforms in 2D Vectors and matrices Transforms in 2D Basic linear transformations Homogeneous coordinates Geometric Algorithms in 2D Line from two points Classification of a point relative to the line Classification of a circle relative to the line Classification of an axis-aligned bounding box (AABB) relative to the line Computing the area of triangle and polygon Intersection of two lines Intersection of two line segments Closest point on the line to the given point Distance from point to line segment Checking whether the given polygon is convex Check whether the point lies inside the given polygon Clipping line segment to a convex polygon, Cyrus-Beck algorithm Clipping a polygon: Sutherland-Hodgman algorithm Clipping a polygon to a convex polygon Barycentric coordinates Transformations in 3D, Projections, Quaternions 3D vectors and matrices. Dot and vector (cross) products Linear transformations-scale, reflection, rotation, and shear Reflection relative to a plane Rotation around an arbitrary vector (direction) Euler transformation Translation, affine transformation and homogeneous coordinates Rigid-body transformation Normal transformation Projections Coordinate systems in 3D, translations between different coordinate systems Quaternions: Representation of orientation in 3D using quaternions, quaternion interpolation Basic Raster Algorithms Raster grid, connectivity of raster grid, 4-connectivity, and 8-connectivity Bresenheim's line algorithm Bresenheim's circle algorithm Triangle filling Flood fill algorithm Color and Color Models CIEXY Z color space RGB color space CMY and CMYK color spaces HSV and HSL color spaces Gamma correction Y uv and Y CBCR color spaces Perceptually uniform color spaces, L*u*v* and L*a*b* color spaces sRGB color space Basic freeglut and GLEW for OpenGL Rendering freeglut initialization Window creation Processing events Using the GLEW library Wrapping freeglut in a C++ class Hidden Surface Removal Basic notions Ray casting z-buffer Hierarchical z-buffer Priority algorithms Portals Potentially visible sets (PVS), computing PVS via portals Hardware occlusion queries and their usage Modern OpenGL: The Beginning History of OpenGL Main concepts of OpenGL Programmable pipeline Our first OpenGL program First OpenGL program using C++ classes Parameter interpolation Matrix operations Rotating the object by mouse Working with meshes Working with textures Instancing Framebuffer object and rendering into a texture Point sprite in OpenGL Working with Large 2D/3D Data Sets Bounding volumes Regular grids Nested (hierarchical) grids Quad-trees and Oct-trees kD-tree Binary space partitioning (BSP) tree Bounding volume hierarchy (BVH) R-trees Mixed structures Curves and Surfaces: Geometric Modeling Representation of curves and surfaces Elements of differential geometry, tangent space, curvature Bezier and Hermite curves and surfaces Interpolation Splines Surfaces of revolution Subdivision of curves and surfaces Basics of Animation Coordinates interpolation Orientation interpolation Key-frame animation Skeletal animation Path following Lighting Models Diffuse (Lambert) model Phong model Blinn-Phong model Ward isotropic model Minnaert lighting Lommel-Seeliger lighting Rim lighting Distance attenuation Reflection, Fresnel coefficient, and its approximations Strauss lighting model Anisotropic lighting Bidirectional reflection distribution function (BRDF) Oren-Nayar model Cook-Torrance model Ashikhmin-Shirley model Image-based lighting (IBL) Spherical harmonics and their usage for lighting Advanced OpenGL Implementation of lighting models Geometry shaders Transform feedback Multiple render targets (MRT) Uniform blocks and uniform buffers Tessellation OpenGL ES 2 WebGL GPU Image Processing Sampling, aliasing, filters Sepia effect Effects based on color transformations Edge detect filters Emboss filter Blur filters, Gaussian blur, separable filters Old-film effect Sharpness filter Image denoising, bilateral filter Special Effects in OpenGL Reflections Volumetric/layered fog Billboards, particle systems, soft particles Bumpmapping Reflection and refraction, environment mapping Fur rendering Parallax, relief and cone step mapping Sky rendering, Perez all-weather model Screen-space ambient occlusion (SSAO) Modeling depth of field High dynamic range (HDR) rendering Realistic water rendering Deferred rendering Light prepass rendering Ambient cubes Reflective shadow maps Splatting indirect illumination Basics of GPGPU What is GPGPU Basics of OpenCL Basics of CUDA Basics of linear algebra in OpenCL OpenCL-OpenGL interoperability Elements of Procedural Texturing and Modeling Fractals, Mandelbrot, and Julia sets Fractal mountains L-systems Perlin noise, turbulence, fBm Modeling marble, water, clouds with Perlin noise Cellular textures Non-Photorealistic Rendering Cartoon rendering Extended cartoon rendering Gooch lighting model Watercolor rendering Bibliography

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    4
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
4
Average
Average
Average
Related to Research communities
Upload OA version
Are you the author of this publication? Upload your Open Access version to Zenodo!
It’s fast and easy, just two clicks!