Сереженко Александр
Сереженко Александр Александрович
Факультет Компьютерных наук и технологий
Кафедра Компьютерной инженерии
Специальность Компьютерные системы и сети
Тема выпускной работы Разработка ускоренного алгоритма трассировки лучей
Научный руководитель Мальчева Раиса Викторовна

Ссылки, связанные с темой магистрской работы

Общая информация, теория относительно метода трассировки лучей

  1. Ray tracing.
    Some information about Ray Tracing algorythm.

  2. The Recursive Ray Tracing Algorithm.
    There is shown concepts of recursive ray tracing algorythm, how to create it, how to create reflections, refractions, soft shadows.

  3. The Recursive Ray Tracing Algorithm.
    There is shown concepts of recursive ray tracing algorythm, how to create it, how to create reflections, refractions, soft shadows.

  4. Метод трассировки лучей против растеризации: новое поколение качества графики?
    Статья представляет собой сравнительный анализ двух технологий формирования изображения - растеризации и мтеода трассировки лучей.

  5. Обратная трассировка лучей.
    Статья представляет собой обзор метода трассировки лучей.

Математические модели, расчеты, векторы, обьекты

  1. Computing a Reflected Ray
    In this small article is shown how to calculate reflected ray.

  2. Ray - Box Intersection.
    There is shown how to calculate point (its coordinates) of intersection between yours ray and box.

  3. Ray-Plane Intersection.
    There is shown how to calculate point (its coordinates) of intersection between yours ray and plane.

  4. Ray - Polygon Intersection.
    There is shown how to calculate point (its coordinates) of intersection between yours ray and polygon.

  5. Ray - Sphere Intersection.
    There is shown how to calculate point (its coordinates) of intersection between yours ray and sphere.

  6. Ray / Quadric Intersection.
    There is shown how to calculate point (its coordinates) of intersection between yours ray and sphere.

  7. Пересечение луча и треугольника.
    Формулы, реализация пересечения треугольника лучем.

Отражения, преломления, рассеивание, анти алиассинг, свет

  1. Adaptive Shadow Testing for Ray Tracing
    This article presents us a simple technique for improving the efficiency of ray tracing in scenes with many light sources.

  2. Simple Global Illumination Model for Ray Tracing.
    There is shown basic global illumination model in this article.

  3. Анти Алиасинг (Anti Aliasing).
    В статье расказывается, что такое анти алиасинг, как его реализовать.

  4. Отражения.
    Статья представляет собой обзор формирования отражения.

  5. Преломления.
    Статья представляет собой обзор формирования преломлений луча.

  6. Тени.
    Статья представляет собой обзор расчета является ли точка сцены затененной или нет.

Програмная реализация метода трассировки лучей.

  1. What is Ray Tracing?
    This article is the foreword of a serie of article about ray tracing.

  2. A raytracer in C++ - Part I - First rays
    This is the first part of the ray tracing series of tutorials. We've seen in the introduction what a raytracer was and how it was different from other solutions. Now let's concentrate on what it would requires to implement one in C/C++.

  3. A raytracer in C++ - Part II - Phong, Blinn, supersampling, sRGB and exposure
    A perfectly diffuse material will send incident light back uniformly in all directions. At the other side of the spectrum, a perfect mirror only sends light in the opposite direction of the incident ray. Reality is not as black and white as that, real object surfaces are often complex and difficult to model simply. I will describe here two empirical models of "shiny" surfaces that are not pure mirror.

  4. A raytracer in C++ - Part III - Procedural textures, bump mapping, cube environment map
    One of the simplest way to add details to scenes is via the use of textures. Here will be detailed two concepts, one is the procedural texture and the other one is the environment texture or cubemap.

  5. A raytracer in C++ - Part IV - Depth of field, Fresnel and blobs
    One of the interesting property of ray tracing is to be independent of the model of camera, and that is what makes it possible to simulate advanced camera model with only slight code modification. Another interesting property is that contrary to a lot of other rendering methods such as rasterization.

  6. DevMaster.net - The Basics of Raytracing
    Ray Tracing Basics.

  7. DevMaster.net - Raytracing: Theory & Implementation Part 1, Introduction
    Basics of ray tracing algorithm implementation. Basic classes. Basic theory.

  8. DevMaster.net - Raytracing: Theory & Implementation Part 2, Phong, Mirrors and Shadows
    Implementation of Phong, Shadows, Reflactions.

  9. DevMaster.net - Raytracing: Theory & Implementation Part 3, Refractions and Beer's Law
    Implementation of Refractions, Multisampling, Beer's Law.

  10. DevMaster.net - Raytracing: Theory & Implementation Part 4, Spatial Subdivisions
    Reducing Intersection Tests, Hierarchical Bounding Volumes, Spacial Subdivisions, Grid.

  11. DevMaster.net - Raytracing: Theory & Implementation Part 5, Soft Shadows
    Area Lights, Aproximation, Soft Shadows.

  12. DevMaster.net - Raytracing: Theory & Implementation Part 6, Textures, Cameras and Speed
    Interpolation, Intersections and UV, Filtering.

  13. DevMaster.net - Raytracing: Theory & Implementation Part 6, TKd-Trees and More Speed
    Barycentric Coordinates, Triangles, Normals and Textures, KD-Trees, Implementing SAH.

  14. Ray tracing in c# and .NET.
    Basic implementation of very pure ray tracing algorythm using C# and .NET technology.

Реализация алгоритма трассировки лучей на GPU

  1. Caustic Graphics :: Reinventing realtime ray tracing with OpenRL SDK built on OpenGL and GLSL APIs
    CausticRT the world's first massively accelerated raytracing system - a perfect ray-trace machine on a workstation graphics card. Use CausticRT to create a uniquely high-performance, scalable rendering environment where image quality is never compromised.

  2. Implementing Ray Tracing on GPU. Part 1
    Shader Language: GLSL and HLSL.

  3. Implementing Ray Tracing on GPU. Part 2
    Calculating Primary Rays.

  4. Implementing Ray Tracing on GPU. Part 3
    Uniform Grid. Creating and Traversing.

  5. Implementing Ray Tracing on GPU. Part 4
    Intersection Test.

  6. Implementing Ray Tracing on GPU. Part 5
    Shader in Shader .

  7. GPU ray tracing.
    Проблемы реализации алгоритма трассировки лучей на GPU.

  8. Практический ray-tracing — бета-версия NVIDIA OptiX второго поколения.
    Проект NVIDIA OptiX имеет целью создание движка реального времени, осуществляющего рендеринг методом трассировки лучей, опираясь на вычислительную мощность графических процессоров NVIDIA.

  9. CUDA.
    Описание технологии Nvidia CUDA.

Способы, технологии, методы ускорения метода трассировки лучей

  1. Accelerating Ray Tracing
    This article shows some methods to speed up(accelerate) ray tracing algorithm.

  2. Пример реализации в реальном времени метода трассировки лучей: необычные возможности и принцип работы. Оптимизация под SSE.
    В статье раскрываются основные концепции ускорения сферического движка трассировки лучей с помощью использования пакетных наборов инструкций MMX, SSE, 3d!Now.

  3. New Fast Ray Tracing Algorithm.
    В статье расказыавется об сферическом движке трассировки лучей, основные концепции, формулировки.

  4. Интерактивная трассировка лучей c использованием SIMD инструкций.
    Пакетная трассировка лучей на основе SIMD.

  5. Трассировка лучей c помощью Pov-Ray.
    Статья представляет собой обзор Pov-Ray технологии.

  6. Packet traversal.
    Статья представляет собой метод трассировки пакетов.

  7. BVH-tree.
    Bounding Volume Hierarchy (BVH) - Иерархия ограничивающих объемов. Что, как, почему?.

  8. Regular grid.
    Все 3D пространство разбивается на мелкую регулярную сетку, состоящую из N*N*N кубиков. Идея заключается в том, что можно пробегать только по тем по кубикам, через которые пошел луч. Это можно сделать по-разному.

  9. Hierarchical grid.
    Иерархическая сетка представляет из себя дерево (обычно небольшой глубины, но зато очень широкое), в узлах которого лежат относительно небольшие регулярные сетки. Применение, построение, реализация.