после чтения исходников удивительной находкой оказалось, что используется код smallVCM, на основе которого я писал свой рендер.
в рендере также есть:
- фильтры изображения MitchellNetravali, gaussian, box(без фильтрации)
- adaptive sampling - галочка есть, а самого адаптив семплинга в коде нет
- загрузка environment map(картинка для hdri освещения) интерактивно, в самой программе - в форматах JPEG, PNG, TGA, PSD, GIF, BMP, HDR, PIC, PNM, PPM, PGM. допишу еще pfm
- сохраняет только в самописный BMP
- RandomSampler, SobolSampler, Metropolis(фактически его нет, вызывается RandomSampler, сделано наверное для Multiplexed MLT - metropolis там единственный семплер)
- StochasticPPM - не реализован - вызывается BidirPathTracingIntegrator😹
Camera Models
- Thin Lens Model
- Fisheye Camera
- Realistic Camera Parameters
- Arbitrarily Shaped Bokeh
- Vignette and Cateye effect
Light Source
- Point Light
- Directional Light
- Polygonal Area Light
- Procedural Sky Light with Hosek Model
- HDR Probe
Integrators
- Volumetric Path Tracing - как его вызвать, я не понял. надо читать исходник Media/Homogeneous.cpp - похоже используется в phaseFunction HenyeyGreenstein
- Bidirectional Path Tracing with Multiple Importance Sampling
- Multiplexed Metroplis Light Transport
Materials
- Lambertion Diffuse
- Smooth Conductor
- Smooth Dielectric
- Rough Conductor
- Rough Dielectric
- Disney BRDF
- Layered Material with Up to 2 Specular Coats
- Cloth
- Subsurface Scattering
- BSSRDF based on Normalized Diffusion
- Participating Media
- Normal Map
- Roughness Map
- Alpha Test
я писал свои модификации к оригинальному smallVCM, но в некоторых моментах я замечал, что сложно добавлять новые штуки. остановил разработку, смотрел как бы мне сделать более универсальный каркас. и перепробовал много исходников и оказывается, что автор EDXRay уже порезал и замиксовал на новый лад исходники smallVCM. сам алгоритм vcm в рендере не реализован. я допишу🐼
также я планирую:
- загрузку obj с помощью tinyobjloader
- nanort для пересечения с треугольниками, сферами, curves, cones. сейчас поддерживается Embree для пересечения с треугольниками. сферы превращаются в треугольники
- загрузка сцен в форматах ini, xml, rib, всех форматах, поддерживаемых assimp
- реализовать материалы из obj, mtl, поддержка disney brdf из mtl
Комментариев нет:
Отправить комментарий