в openGL виде нажать Ctrl и мышкой тыцнуть обьект - он станет выделен и покажется редактор материалов!
типа материала и свойства можно менять
среда, 28 июня 2017 г.
EDXRay to pepelac render TODO
todo на ближайшее время по рендеру:
- кнопка загрузки объектов, сцен, проектов(сцена+рендеренное)
- сохранение сцен, проектов
- средняя кнопка мыши зажатая и движ мыши с текущим объектом - переместить объект
- вращение средней кнопкой мыши - увеличение/уменьшение
- доделать обработку клавиатуры
- все свойства материала из obj/mtl - ADVANCED mat
- все мои антиалиазинги
- vcm
- все мои оптимизации(vm_hybridance, path_reuse)
- удаление выделенных объектов
- interactive preview(magic sampling)
суббота, 24 июня 2017 г.
EDXRay. чтение материалов из obj/mtl
не читались и не учитывались параметры материла:
Ke - emissive color(r, g, b)
Ni - IOR материала
Ns - phong exponent
Kt - transmissive color.
сейчас все эти параметры запоминаются в свойствах материала.
Ni, Kt учитываются при рендеринге:
пока еще сложно даются рендеру материалы, у которых поровну Specular и Diffuse или Specular и Transmissive
ошибка на картинке -
статуе присвоен материал с
Kd 1.000000 0.800000 0.800000
Ks 0.2 0.2 0.2
но используется только зеркальная(Ks - specular) составляющая.
стеклянная сфера тоже передана не совсем верно
newmtl Reflective
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.0 0.0 0.0
Ks 0.9 0.9 1.0
Kt 0.9 0.9 1.0
Ni 1.5
d 1.000000
illum 2
а в рендере использовано только преломление(Kt - Transmission)
Ke - emissive color(r, g, b)
Ni - IOR материала
Ns - phong exponent
Kt - transmissive color.
сейчас все эти параметры запоминаются в свойствах материала.
Ni, Kt учитываются при рендеринге:
пока еще сложно даются рендеру материалы, у которых поровну Specular и Diffuse или Specular и Transmissive
ошибка на картинке -
статуе присвоен материал с
Kd 1.000000 0.800000 0.800000
Ks 0.2 0.2 0.2
но используется только зеркальная(Ks - specular) составляющая.
стеклянная сфера тоже передана не совсем верно
newmtl Reflective
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.0 0.0 0.0
Ks 0.9 0.9 1.0
Kt 0.9 0.9 1.0
Ni 1.5
d 1.000000
illum 2
а в рендере использовано только преломление(Kt - Transmission)
пятница, 23 июня 2017 г.
EDXRay. hairball.obj и hdri освещение
нашёлся мне EDXRay - bidirectional path tracer, path tracer, multiplexed mlt с поддержкой disney brdf(по этой фразе его и нашёл), загружает obj, можно загрузить и повращать hdr.
после чтения исходников удивительной находкой оказалось, что используется код smallVCM, на основе которого я писал свой рендер.
в рендере также есть:
я писал свои модификации к оригинальному smallVCM, но в некоторых моментах я замечал, что сложно добавлять новые штуки. остановил разработку, смотрел как бы мне сделать более универсальный каркас. и перепробовал много исходников и оказывается, что автор EDXRay уже порезал и замиксовал на новый лад исходники smallVCM. сам алгоритм vcm в рендере не реализован. я допишу🐼
также я планирую:
после чтения исходников удивительной находкой оказалось, что используется код 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
суббота, 17 июня 2017 г.
tinsel renderer and my speedup modifications
tinsel renderer and my speedup modifications:
- nanoRT scene accelelerator
- tinyobjloader with my speedups
- lodePNG for save png
- openCL version
Features
available on github https://github.com/tigrazone/tinsel
- cpu only version. gpu version hardcoded off
- openMP is added. on my 2-core cpu speedup to 160%(before openMP 4.7s per frame for ajax scene, after 2.9s) - more cores = faster
- little bit speedup for disneyBRDF pdf calculation
- nanoRT scene accelelerator
- tinyobjloader with my speedups
- lodePNG for save png
- openCL version
Features
- Unbiased uni-directional path tracer
- Disney's principled BRDF with importance sampling of diffuse and specular lobes
- CPU or GPU tracing and shading with a persistent CUDA threads model
- Interactive OpenGL progressive mode
- Explicit area light sampling
Affine and deformable motion blur- Gaussian reconstruction filter
Instanced triangle mesh primitives with affine transformations- AABB tree with SAH and splitting
- Simple scene description format
- Windows / macOS / Linux support
P.S. зачеркнутое - заявленное, но в коде нет этого
available on github https://github.com/tigrazone/tinsel
воскресенье, 11 июня 2017 г.
embree и openexr. пустые страхи
почему-то было у меня отторжение openEXR и Embree, особенно напрягался про то, что фиг соберёшь под linux и macOSx, но, почитав руководства по установке, становится понятно, что как раз windows-версия сложнее для установки и обновления под Visual Studio. под minGW можно наверное собрать из исходников openEXR и Embree.
SmallUPBP очень уж неплохо работает.
tinyexr можно оставить для записи файлов. неплохо сохраняет и файлы получаются меньше, чем сохраненные openEXR. буду его использовать чтоб не искать в настройках openEXR. может и openEXR у меня старый, только толстые файлы сохраняет.
может я и лось и что-то недонастроил что с tinyexr, но но при загрузке exr для IBL - не видно результата, будто б exr чёрный.
SmallUPBP очень уж неплохо работает.
tinyexr можно оставить для записи файлов. неплохо сохраняет и файлы получаются меньше, чем сохраненные openEXR. буду его использовать чтоб не искать в настройках openEXR. может и openEXR у меня старый, только толстые файлы сохраняет.
может я и лось и что-то недонастроил что с tinyexr, но но при загрузке exr для IBL - не видно результата, будто б exr чёрный.
пятница, 9 июня 2017 г.
pepelac. ibl from akari1
после попыток прицепить IBL от upbp и неясного падения проги от этого, решил брать независимый исходник от akari1.
к тому ж там есть importance sampled ibl для direct paths
P.S. причиной падения оказался заход за границу массива. ох уж эти студенты с предустановленными значениями.
заработало ibl-освещение. только новая напасть. освещение будто б черным светом. tinyexr шалит... или я чота сделал не так
к тому ж там есть importance sampled ibl для direct paths
P.S. причиной падения оказался заход за границу массива. ох уж эти студенты с предустановленными значениями.
заработало ibl-освещение. только новая напасть. освещение будто б черным светом. tinyexr шалит... или я чота сделал не так
четверг, 8 июня 2017 г.
density control for photon maps
документ Density control for photon maps опубликован в 2000 году
с 2001 года реализован в RenderPark
подобное предлагали в 2014 году Jiří Vorba, Ondřej Karlík, Martin Šik, Tobias Ritschel, Jaroslav Křivánek в работе On-line Learning of Parametric Mixture Models for Light Transport Simulation
да и в mental ray были importons
и я сделаю
если кратко - выпускаются сначала фотоны для оценки, куда их надо больше - небольшое количество и потом - по построенной карте - более грамотно запускаются фотоны для полноценного просчета
с 2001 года реализован в RenderPark
подобное предлагали в 2014 году Jiří Vorba, Ondřej Karlík, Martin Šik, Tobias Ritschel, Jaroslav Křivánek в работе On-line Learning of Parametric Mixture Models for Light Transport Simulation
да и в mental ray были importons
и я сделаю
если кратко - выпускаются сначала фотоны для оценки, куда их надо больше - небольшое количество и потом - по построенной карте - более грамотно запускаются фотоны для полноценного просчета
понедельник, 5 июня 2017 г.
akari2 vs gemspt
gemspt подкупает тем, что поддерживает раздельно материалы diffuse, specular, glass и они содержат одинаковые методы, это упрощает и унифицирует подход к материалам.
в akari2 только 2 материала - diffuse, specular/glossy.
была идея перенести в gemspt хорошие решения из akari2, но я, просмотрев исходные тексты nanort/examples/path_tracer/, понял что лучше добавить более стандартную работу с материалами, разделив на компоненты
https://github.com/githole/gemspt
https://github.com/tigrazone/akari2
в akari2 только 2 материала - diffuse, specular/glossy.
была идея перенести в gemspt хорошие решения из akari2, но я, просмотрев исходные тексты nanort/examples/path_tracer/, понял что лучше добавить более стандартную работу с материалами, разделив на компоненты
https://github.com/githole/gemspt
https://github.com/tigrazone/akari2
Подписаться на:
Сообщения (Atom)