Search found 75 matches

by shocker_0x15
Wed Dec 31, 2014 9:33 am
Forum: General Development
Topic: Questions on BDPT and Sampling
Replies: 3
Views: 4073

Re: Questions on BDPT and Sampling

First of all, please clarify the difference between the number of subpath vertices and the length of a subpath. You wrote in the table that when E and L are 1, K is 1. However, I think its correct length is 3, not 1. This is not a essential problem, but it makes something complicated. Answers 1. Per...
by shocker_0x15
Wed Dec 03, 2014 3:41 pm
Forum: General Development
Topic: Colibri Renderer
Replies: 12
Views: 11806

Re: Colibri Renderer

Pretty cool! :D
by shocker_0x15
Sat Nov 29, 2014 2:31 pm
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

I have maybe succeeded to resolve this issue. I guess that the atomic operation and using it in the while condition is not a problem. The cause seems to be a "cache". Writing an AABB to global memory is cached, so in case another thread tries to read the written data, there is no consistency. Theref...
by shocker_0x15
Wed Nov 26, 2014 4:55 am
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

Thanks. first thread will run, atomic returns 0, which is while(false) , so first thread do nothing at all second thread will run, atomic returns 1, which is while(true) , so second thread will do what you expect from the first thread third thread will run, atomic returns 2, which is while(false) , ...
by shocker_0x15
Tue Nov 25, 2014 5:36 pm
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

Thanks sriravic, MohamedSakr. Let me confirm to determine whether my understand about the atomic is right or not. If 2 threads enter the while loop at the same time, that is, execute the atomic_inc(), is there a case that each returned value is 0? (The initial value of counters are 0.) I think the c...
by shocker_0x15
Tue Nov 25, 2014 5:17 am
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

The initial values of counters are 0, and atomic_inc() returns the old value before atomic-incrementing. Therefore, atomic_inc(counters + pIdx) == 1 means there was already one access to the node. The reason why I doubt about bottom-up traversal (though my LBVH implementation seems working well) is ...
by shocker_0x15
Tue Nov 25, 2014 1:40 am
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

pIdx == 0 means that the traversal reaches the root node, because the root node is always stored at index = 0 in LBVH. Therefore, the thread should be terminated after processing the root node. I think there is no problem if two threads enter the while loop at the same time because it uses the atomi...
by shocker_0x15
Tue Nov 25, 2014 12:28 am
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

Thanks, MohamedSakr for your reply. This is full of the kernel. the variable counters is a global memory object. kernel void calcNodeAABBs(global uchar* _iNodes, global uint* counters, const global uchar* _lNodes, uint numLeaves, const global uint* parentIdxs) { const uint selfIdx = get_global_id(0)...
by shocker_0x15
Mon Nov 24, 2014 4:50 pm
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Re: Question about Bottom-up traversal used in LBVH and TRBV

I put my code for bottom-up traversal of computing nodes' AABBs. Let's think one thread computed an AABB and stored it. ** 2 ** ** 1 ** The thread was terminated after that because the access to the parent was the fisrt time. Immediately after the termination, another thread accesses the same node. ...
by shocker_0x15
Sun Nov 23, 2014 4:37 pm
Forum: General Development
Topic: Question about Bottom-up traversal used in LBVH and TRBVH
Replies: 14
Views: 10120

Question about Bottom-up traversal used in LBVH and TRBVH

Hi, Now I try to implement TRBVH [1] using OpenCL. It is based on Linear BVH [2] and an idea of parallel construction of the tree [3]. I have finished implementing [2] and [3]. The result of rendering seems to be done correctly and the speed of construction is also reasonable. However I have one dou...