Skip to content

Conversation

@Jack12xl
Copy link

@Jack12xl Jack12xl commented Oct 8, 2020

Repo Link

Current feature

BxDF
  • Diffuse
  • Specular
    • perfect Specular
    • imperfect Specular
  • Refraction
    • Schlick Fresnel approximate
Better Sample
  • stratified sampling ( Results not obvious though )
  • Anti-aliasing
Visual effects
  • lens based depth of field
  • motion blur
IO
  • Load GLTF based on tiny_gltf ( kind of buggy though)
    • bounding box per mesh
Speed Optimization
  • Path continuation/termination with thrust
  • First bounce cache
  • contiguous memory shuffle by material sort

@Jack12xl
Copy link
Author

Jack12xl commented Oct 8, 2020

Feedback:
I thought the glTF or OBJ loading should be implemented as given function. Because implementing that take tons of time(also glTF document is not complete and easy to read) and is not that relevant to CUDA programing.

Jack12xl and others added 11 commits October 8, 2020 12:11
* fix a bug related to triangle, still bugs to fixed

* tmporarily fix gltf triangle pos changed

* fix the bbox again

* add intersection struct

* SL for texture struct,

* SL for adding textures, add loading function of texture

* load gltf finally succss, after almost 1.5 years

* update readme
* fix a bug related to triangle, still bugs to fixed

* SL for MIS

* SL for structure changes for MIS

* SL for mis, split computeIntersection function

* SL for adding MIS, sample bsdf,

* add pos to intersection, SL for mis

* SL for sample bsdf, sometimes exit before iterations complete, refractions currently not working

* fix the reflect and refract issue. Estimate direct return zero

* testing the MIS, not response

* debugging mis, fixing some bugs related to input

* fix the not intersection problem. Current bug: if only direct lighting scene will be lit much(without indirect light lower the throughput)

* SL for MIS and microface distribution

* SL for microface, it's totally black

* find the we need to sample on the local space(because that's more convenient)

* addfix microface bug, reformat, update readme

* fix readme
* fix a bug related to triangle, still bugs to fixed

* SL for MIS

* SL for structure changes for MIS

* SL for mis, split computeIntersection function

* SL for adding MIS, sample bsdf,

* add pos to intersection, SL for mis

* SL for sample bsdf, sometimes exit before iterations complete, refractions currently not working

* fix the reflect and refract issue. Estimate direct return zero

* testing the MIS, not response

* debugging mis, fixing some bugs related to input

* fix the not intersection problem. Current bug: if only direct lighting scene will be lit much(without indirect light lower the throughput)

* SL for MIS and microface distribution

* SL for microface, it's totally black

* find the we need to sample on the local space(because that's more convenient)

* addfix microface bug, reformat, update readme

* fix readme

* SL for BVH, change the geom struct

* SL for bvh structure

* SL for bvh creatiing, can compile

* SL for BVH next SAH implicit bbox

* SL for scene intersection, scene/bvh struct

* merge vertex into shaderintersection

* SL for BVH construct

* add aabb function for cube, sphere, triangle

* illegal memory access when iterate the bvh

* intersect not right

* fix something related to bvh intersection. Want to change the intersection signature

* change intersect signature, currently will produce infinte pdf

* fix half way, aabb intersect has problem

* SL for debugging bvh

* fix the transform bug

* change aabb intersection to fix model triangle not intersect

* add support for direct light

* update cache first bounce new API

* store tmp scene files

* update readme
* fix a bug related to triangle, still bugs to fixed

* fix merge bug

* add another implementation

* add a plane shape

* fix some ray plane intersection bug

* update readme

* modify scene
* fix a bug related to triangle, still bugs to fixed

* SL for specular light fixing, env light loading

* add only naive indirect light for env map

* SL for env map sampler

* SL, temporarily fix invalid memory in gpu(access env light mat with non exist idx)

* SL for debugging cuda memory error...

* SL for envmap, fix the error: cannot set while device is active in this process

* add workable env map, not fully tested
* fix a bug related to triangle, still bugs to fixed

* add normal map

* Format
* fix a bug related to triangle, still bugs to fixed

* SL for disney diffuse bsdf, solving circular dependency

* add forceinline to solve repetive definition

* dubugging diffuse and sheen, looking weired

* add diffuse evaluation, next to implement specular/metal

* spec has a lot of NaN

* fix sample bsdf weight bug

* SL for trammitive model, no tranmission effect, got some bugs in direct light sampling

* SL for specular transmission, in process of debugging

* SL for fixing direct lighting

* fix BVH geom idx, now we have right ligh idx in direct light

* SL for clearcoat

* SL for clearcoat, not tested. Found HBVH will fail to find env map

* fix bvh env map idx

* SL for testing disney, aniso seems not as expected

* fixing some fireflies related to clearcoat

* fix a little on the fireflies caused by the environment map(used some MIS from previous bsdf_pdf

* fix more env map fireflies

* SL for debugging

* SL for adding rough metal texture, want to sample texture at the same place

* SL updating stb_image, adding RoughMetal tex, testing

* fix direct light material sample

* add clearcoatGloss test. Tranmittive will bring noise when combined

* add sheen, tint , subsurface test

* reformat

* SL for a liitle fix on disney

* some modifications and updates on the brdf. Most about Split the dieletric outside the refraction

* format

* SL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant