Logo by AGUS - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. April 26, 2024, 11:31:54 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 ... 9 10 [11] 12 13 ... 16   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: updating of DE-Raytracer  (Read 38473 times)
Description: adding features in DE-raytracer: volumetric light, kaliset3d, clouds...
0 Members and 3 Guests are viewing this topic.
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #150 on: April 10, 2016, 09:29:50 AM »

Use large tiles 2x2 or 3x3 (960x540 or 1280x720) and you will get approximately the same picture like from GUI.

so a 1x1 tile with the same settings should get the same image as GUI ?

I modified Fragmentarium sourcecode to allow tile render to use 1920x1080 and the image produced (scaled for display here) tells me that smaller tile size does not mean smaller bloom size, it is overall image size that has impact.

even if I exceed max intensity x2 or x20 I still get image not like the GUI image in http://www.fractalforums.com/index.php?topic=20680.msg91937#msg91937

can Bloom be scaled or factored by image size?

re:Radeon I won't be able to help until I can see what happens in debugger or run with some console output to find where it hangs sad


* bloom-3-bigtile.jpg (69.34 KB, 512x288 - viewed 135 times.)
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #151 on: April 10, 2016, 10:47:48 AM »

so a 1x1 tile with the same settings should get the same image as GUI ?
Yes one to one.
I quickly tested now... And see that bloom size depends from image size, not tile. Thank you for explanations.
When i prepared for large final render i increase bloom more and more to see result like viewing from GUI  wink

I modified Fragmentarium sourcecode to allow tile render to use 1920x1080 and the image produced (scaled for display here) tells me that smaller tile size does not mean smaller bloom size, it is overall image size that has impact.
Small tiles = more padding, and there is a chance to get something like this:


* bloom50x50_padding.jpg (38.46 KB, 780x780 - viewed 100 times.)
Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #152 on: April 10, 2016, 11:37:33 AM »

yes, tile size must be big enough to cover the extent of bloom coverage
I think it's BloomTaps that needs to get scaled...

GUI view = 512x288
final image = 3840x2160

scale BloomTaps by 7.5x

so if BloomTaps = 20 in GUI view it needs to be 150 for final render
with tile size = GUI view and 100% padding

testing now ETA 1hr , scaling BloomTaps increases render time by 3x
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #153 on: April 10, 2016, 12:53:48 PM »

yeah! cheesy nailed it!

here is the result of scaling BloomTaps only
BloomPower and BloomIntensity remain the same

the left image is the GUI the right image is the final render  joy

edit: yes, I see tiles need to be just a little bigger for this image or back off intensity a bit. A Beer Cup


* bloom-fix.jpg (94.59 KB, 1044x388 - viewed 104 times.)
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #154 on: April 11, 2016, 10:46:10 AM »

scaling BloomTaps? did you mean increse? How many BloomTaps?
Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #155 on: April 11, 2016, 02:22:37 PM »

GUI view = 512x288               BloomTaps = 20

final image = 3840x2160       BloomTaps = 150

sqrt ((3840*2160) / (512*288)) = 7.5

BloomTaps *= 7.5;  wink

increase BloomTaps by 7.5 times for final render

http://www.fractalforums.com/images-showcase-%28rate-my-fractal%29/bloom-test-t23544/
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #156 on: April 11, 2016, 08:12:53 PM »

150???  shocked  it`s crazy

so i Tested fullscreen render on extremely hard settings (for me... on radeon hd7850) And i got artifactsshocked  undecided  sad
BloomTaps = 39, Detail = -3.9, HF_FogIter = 4, HF_Scatter = 172, ReflectionsNumber = 2, 1700 subframes



* 2016-04-11_070131_cr.jpg (104.14 KB, 656x399 - viewed 112 times.)
Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #157 on: April 11, 2016, 08:45:38 PM »

the image (linked above) was rendered with only 32 subframes

 Tile size 768x432
 100% padding

 BloomTaps = 150
 Detail = -3
 HF_FogIter = 16
 HF_Scatter = 10
 ReflectionsNumber = 0

render takes the same time using original version or latest version and both look identical

tiled render not full screen, I am also using wang hash function for RNG seed

will post you the frags later if you would like to test on radeon
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #158 on: April 11, 2016, 08:56:01 PM »

Ok, thank you!
I always set a lot of subframes for total decrease all dither noise  wink
Logged

Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #159 on: April 12, 2016, 12:24:51 AM »

Try add Kali's particles for DE-Kn2. Unfortunately my knowledge of GLSL language is not enough. So i added Kaliset3D.frag, and this code mainly copied from Volumetric.frag
Code:
#group KalisetLight
uniform float VolumetricRayStep;slider[0.01,0.1,1.];
uniform float VolumetricDither;slider[0,.01,.2];
uniform int MinDistance;  slider[0,5,50]

uniform float LightRad; slider[0.0,0.0,5.0]
uniform float LightExp; slider[0.0,1.0,5.0]
uniform float LightGlowIntensity; slider[0.0,0.0,1.0]
uniform float LightGlowClear; slider[0.0,0.0,10.0]
uniform float VolumetricShadow; slider[0,0,5]
uniform float MinLight; slider[0.0,0.0,1.0]

vec3 ptLightGlowK(vec3 from, vec3 pos){
SRay Ray;
from+=((rand(dir.xy+vec2(subframe,subframe*1.12358))-.5)*VolumetricDither);
float kglow=0;
int c=0;
float lf=0;
float sh=0;
vec3 col = vec3(0.0);
if (!lighthit && LightGlowIntensity>0.) {
for (float r=MinDistance; r<MaxDistance; r+=VolumetricRayStep) {
vec3 p=from+r*dir;
//vec3 p = SRCurrentPt(Ray);
vec3 spotDir1 = normalize(LightPos-Ray.Pos);
//vec3 lightdir=-lightnormal(p,.01);
vec3 lightdir=spotDir1;
float ep=exp(-(LightGlowClear*.01)*r*r);
float k=max(MinLight,Kaliset(p)*KFinalScale);
sh=shadow(p,lightdir,minDist*10);
lf+=k*ep*clamp((1-sh),VolumetricShadow,1.);
c++;
}
}
lf=max(0,lf);
lf*=VolumetricRayStep;
lf*=LightGlowIntensity*5;
float glow1=exp(-pow(1/LightRad,4)*pow(kglow,LightExp));
float glow2=exp(-10*pow(kglow,1));
col=SpotLight.xyz*glow1*SpotLight.w*lf+SpotLight.xyz*glow2*SpotLight.w*2;
return col;
}
And than called in vec3 color
Code:
col0+=ptLightGlowK(prevPos,curPos);
I wrote at random, so please correct.


* test.zip (26.36 KB - downloaded 48 times.)
Logged

Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #160 on: April 20, 2016, 12:00:13 AM »

Testing renderer. Use #define USE_HMAP for enable height-mapping. Still has artifacts... and aliasing (need help for better height-mapping code)
Added floor/terrain texturing.
Code:
if (floorHit) {
hitColor = FloorColor;
if(EnableFloorPic) {
vec3 p = SRCurrentPt(Ray);
p=rotFloor*p;
p+=MovTer;
hitColor += FloorColor+FPicBright*texture2D(tex, p*htexturespeed+htextoff);
}
}
I think it`s right code  smiley
Testing texture with renderer in attach.

Nodither, FudgeFactor=0.5


Dither, FudgeFactor=0.1


Nodither, FudgeFactor=0.1


Dither, FudgeFactor=0.1

* hmap_kn2t.zip (27.55 KB - downloaded 46 times.)
Logged

Patryk Kizny
Global Moderator
Fractal Fertilizer
******
Posts: 372



kizny
WWW
« Reply #161 on: April 20, 2016, 10:40:13 AM »

The problems you're having have to do with how height maps are working with DE - it's inherent.
DE should be returning the minimum distance to an isosurface or object. While using height mapping in the form of

float DE = function(vec3 p) {
return p.z + myheightmap;
}

It's inaccurate. And it's becoming more and more inaccurate the higher the height value.
So within DE raytracer you can't expect it to be precise. You'd have to go bruteforce.
Logged

Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #162 on: April 20, 2016, 01:51:07 PM »

float DE = function(vec3 p) {
return p.z + myheightmap;
}

It's inaccurate. And it's becoming more and more inaccurate the higher the height value.
Maybe there's another function?
Or some smooth method for heightmap?


upd. Another one heightmap test


used this texture
« Last Edit: April 21, 2016, 12:11:35 AM by Crist-JRoger » Logged

Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #163 on: May 05, 2016, 04:55:02 PM »

Played a little with terrain for creating better ocean ripples effect  embarrass

Just quick renders on intel GPU




Code:
#include "Classic-Noise.frag"
uniform int FloorIter1;  slider[0,3,50]
uniform float FreqMul1; slider[1,2,10]
uniform float AmpMul1; slider[0,0.3,1]
uniform float Offset1; slider[0,0.4,1]

uniform int FloorIter2;  slider[0,3,50]
uniform float FreqMul2; slider[1,2,10]
uniform float AmpMul2; slider[0,0.3,1]
uniform float Offset2; slider[0,0.4,1]

uniform vec2 Period; slider[(0,0),(1,1),(1,1)]
uniform vec3 off1; slider[(-10,-10,-10),(1,1,1),(10,10,10)]

float water(vec3 pos) {
float A = 1.0;
float B = 1.0;
float C = 1.0;
float D = 1.0;
float r = 0.0;
for (int i = 0; i < FloorIter1; i++) {
r+= B*cnoise(A*(pos.xy)+Offset1);
A*=FreqMul1;
B*=AmpMul1;
}
for (int j = 0; j < FloorIter2; j++) {
r+= D*pnoise(C*(pos.xy)+Offset2, Period);
C*=FreqMul2;
D*=AmpMul2;
}
return r;
}

float height(vec3 pos) {
pos*=off1;
return water(pos);
}

Logged

Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #164 on: May 08, 2016, 11:30:04 PM »

Added second floor. Used here for water surface:

« Last Edit: May 09, 2016, 09:58:35 AM by Crist-JRoger » Logged

Pages: 1 ... 9 10 [11] 12 13 ... 16   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.224 seconds with 25 queries. (Pretty URLs adds 0.026s, 2q)