Вы не авторизованы.

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Fragmenarium. Обсуждение, решение проблем.

ТЕМА: Raytracer - ы фрагментариума.

Raytracer - ы фрагментариума. 5 года 2 мес. назад #644

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Что такое Raytracer - ы в программе Fragmentarium?
Это скрипты, позволяющие визуализировать фрактал. Скрипт подключаемый, самый распространённый и довольно быстрый, это DE-Raytracer, подключается строкой
#include "DE-Raytracer.frag". Чтобы программа нашла нужный рейтрейсер, необходимо, чтобы скрипт с находился по пути: \Examples\Include в директории программы.
Естественно, мы можем изменить рейтрейсер или сделать свой и закинуть его по указанному пути. В этом уникальность программы, только в фрагментариуме можно изменить код трассировщика, не меняя ничего в самой программе.

А теперь будем выкладывать в этой теме трассировщики, изменённые или написанные с нуля!, вытащенные по частям из других скриптов и так далее...
Для начала трассировщик SoC.frag от eiffie, довольно уникальный трейсер.

Вот код трейсера:
#donotrun

/*
SoC.frag (Sphere of Confusion march) by eiffie
Fast anti-alias, DoF, softshadows and reflections.
License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
 
Implement this function in fragments that include this file:
float DE(vec3 pos); //accumulate color samples in the variable mcol when bColoring==true
*/
 
//The vertex setup is taken from Syntopia's examples
#info Simple 3D Setup
#camera 3D

#vertex

#group Camera
// Field-of-view
uniform float FOV; slider[0,0.4,2.0] NotLockable
uniform vec3 Eye; slider[(-50,-50,-50),(0,0,-10),(50,50,50)] NotLockable
uniform vec3 Target; slider[(-50,-50,-50),(0,0,0),(50,50,50)] NotLockable
uniform vec3 Up; slider[(0,0,0),(0,1,0),(0,0,0)] NotLockable
uniform vec2 pixelSize;
varying vec3 from;
varying vec3 dir;
varying vec3 Dir;
 
#ifdef providesInit
void init(); // forward declare
#else
void init() {}
#endif

void main(void)
{
	gl_Position =  gl_Vertex;
	vec2 coord = (gl_ProjectionMatrix*gl_Vertex).xy;
	coord.x*= pixelSize.y/pixelSize.x;
	from = Eye;
	Dir = normalize(Target-Eye);
	vec3 UpOrtho = normalize( Up-dot(Dir,Up)*Dir );
	vec3 Right = normalize( cross(Dir,UpOrtho));
	dir = (coord.x*Right + coord.y*UpOrtho )*FOV+Dir;
	init();
}
#endvertex

#group Camera

#define PI  3.14159265358979323846264
// Camera position and target.
varying vec3 from;
varying vec3 dir;
varying vec3 Dir;
uniform vec2 pixelSize;
uniform float time;
uniform float FocalPlane; slider[0,1,50]
uniform float Aperture; slider[0,0.01,0.1]
 
#group Raytracer
// Lower this if the system is missing details
uniform float FudgeFactor;slider[0,1,1]
// Maximum number of  raymarching steps.
uniform int MaxRaySteps;  slider[0,100,300]
// Maximum number of shadowmarching steps.
uniform int MaxShadowSteps;  slider[0,32,200]
// Distance to boundary of scene.
uniform float MaxDistance;slider[1.0,10.0,300.0]
// Forward step as a fraction of CoC radius.
uniform float ForwardStep;slider[0.0,0.25,1.5]
 
#group Light
// The specular intensity
uniform float Specular; slider[0.0,0.5,1.0]
// The specular exponent
uniform float SpecularExp; slider[0.0,16.0,100.0]
// Diffuse contrast
uniform float DiffuseContrast; slider[0.0,0.7,1.0]
// Shadow Contrast
uniform float ShadowContrast; slider[0.0,0.7,1.0]
// The penumbra
uniform float ShadowCone; slider[0.0,0.05,0.5]
// Specular light color
uniform vec3 LightColor; color[1.0,0.9,0.4]
// Direction of light
uniform vec3 LightDir; slider[(-1.0,-1.0,-1.0),(0.5,0.5,-0.5),(1.0,1.0,1.0)]
// Background color
uniform vec3 BGColor; color[0.5,0.5,0.5]
// Blurs the reflections
uniform float ReflectionBlur;slider[0.0,0.5,2.0]
 
bool bColoring=true;//accumulate colors in DE when true
vec4 mcol=vec4(0.0);//this is the variable to accumulate colors in
 
float DE(vec3 pos) ; // Must be implemented in other file
 
#ifdef providesInit
void init(); // forward declare
#else
void init() {}
#endif

//random seed and generator
float randSeed=fract(cos((gl_FragCoord.x+gl_FragCoord.y*117.0+time*10.0)*473.7192451));
float randStep(){//a simple pseudo random number generator based on iq's hash
	return  (0.8+0.2*fract(sin(++randSeed)*43758.5453123));
}
float CircleOfConfusion(float t){//calculates the radius of the circle of confusion at length t
	return max(abs(FocalPlane-t)*Aperture,pixelSize.x*(1.0+t));
}
float linstep(float a, float b, float t){return clamp((t-a)/(b-a),0.,1.);}// i got this from knighty
float FuzzyShadow(vec3 ro, vec3 rd, float coneGrad, float rCoC){
	float t=rCoC*2.0,s=1.0;
	for(int i=0;i<MaxShadowSteps;i++){
		if(s<0.1 || t>MaxDistance)break;
		float r=rCoC+t*coneGrad;//radius of cone
		float d=DE(ro+rd*t)+r*0.5;
		s*=linstep(-r,r,d);
		t+=abs(d)*randStep();
	}
	return clamp(s*ShadowContrast+(1.0-ShadowContrast),0.0,1.0);
}
void main() {
	init();
	vec3 ro=from;
	vec3 rd=normalize(dir);
	vec3 L=normalize(LightDir);
	vec4 col=vec4(0.0);//color accumulator
	float t=DE(ro)*FudgeFactor*randStep(),cor=1.0/dot(rd,Dir);//distance traveled, focus correction
	ro+=rd*t;
	for(int i=0;i<MaxRaySteps;i++){//march loop
		if(col.w>0.9 || t>MaxDistance)break;//bail if we hit a surface or go out of bounds
		float rCoC=CircleOfConfusion(t*cor);//calc the radius of CoC
		float d=DE(ro)+ForwardStep*rCoC;
		if(d<rCoC){//if we are inside add its contribution
			vec3 p=ro-rd*abs(d-rCoC);//back up to border of CoC
			mcol=vec4(0.0);//clear the color trap, collecting color samples with normal deltas
			bColoring=true;//alerts the user to accumulate colors in mcol
			vec2 v=vec2(rCoC*0.333,0.0);//use normal deltas based on CoC radius
			vec3 N=normalize(vec3(-DE(p-v.xyy)+DE(p+v.xyy),-DE(p-v.yxy)+DE(p+v.yxy),-DE(p-v.yyx)+DE(p+v.yyx)));
			bColoring=false;
			if(N!=N)N=-rd;//if we found no gradient... cheat
			if(dot(rd,N)<0.0){
				mcol*=0.1666;
				float sh=FuzzyShadow(p,L,ShadowCone,rCoC);
				vec3 scol=mcol.rgb*(1.0-DiffuseContrast+sh*0.5*DiffuseContrast*(1.0+dot(N,L)));
				scol+=sh*Specular*pow(max(0.0,dot(reflect(rd,N),L)),SpecularExp)*LightColor;
				if(mcol.a>0.01 && d<rCoC*mcol.a){//quick reflections
					rd=reflect(rd,N);d=rCoC*mcol.a;ro=p;t+=ReflectionBlur;
				}
				float alpha=FudgeFactor*(1.0-col.w)*linstep(-rCoC,rCoC,-d);//calculate the mix like cloud density
				col+=vec4(scol*alpha,alpha);//blend in the new color
			}
		}
		d=FudgeFactor*abs(d)*randStep();//add in noise to reduce banding and create fuzz
		ro+=d*rd;//march
		t+=d;
	}//mix in background color
	vec3 scol=BGColor+rd*0.1;
	col.rgb+=scol*(1.0-clamp(col.w,0.0,1.0));
	gl_FragColor = vec4(clamp(col.rgb,0.0,1.0), 1.0);
}

Трассировщик довольно уникальный, позволяет раскрашивать отдельные "детали" фрактала в разные цвета или раскрасить весь фрактал в оригинальные цвета. Кроме того, можно применить отражения, причём отдельно к разным частям фрактала! Именно с помощью этого трассировщика я делал новогоднюю картинку.

HappyFinSmall.jpg


Как вставить трассировщик? Копируем текст, вставляем его в блокнот, сохраняем по пути \Examples\Include с расширением .frag, ятобы подключить трасировщик вместо строки #include "DE-Raytracer.frag" пишем #include "SoC.frag".
Из недостатков трейсера можно отметить то, что вот так по умолчанию мы получим, скорее всего, картинку без цвета. Чтобы получить раскраску, нужно дописывать кад в скрипт фрактала. И ещё - трассировщик не поддерживает режим "Progressive(subframe)", поэтому сразу после запуска скрипта, этот режим нужно сразу отключить.

Вот код новогодней картинки:
#include "Soc.frag"

vec2 rotate(vec2 v, float angle) {return cos(angle)*v+sin(angle)*vec2(v.y,-v.x);}
vec2 Kaleido(vec2 v){float w=floor(.5+3.5015*atan(v.x,-v.y))*0.28559;return rotate(v,w);}
float Cone(in vec4 z, float radius, float height){return (max(abs(z.y)-height,length(z.xz))-radius*clamp(height-abs(z.y),0.0,height))/z.w;}
 
 
float DESnow(vec3 p) {	  
p+=vec3(1.35,1.54,1.23);
	p*=0.3;
	for (int i=0; i<10; i++) {
	p.xyz=abs(p.xyz);
		p=p/dot(p,p);
		p=p*0.7-vec3(0.8);
}
	return pow(length(p),1.2)*0.08;
}
 
float DEFir(vec3 z0){
	vec4 z=vec4(z0,1.0);
	z.xy=rotate(z.xy,z.z*0.4);
	z.xy=clamp(z.xy,-1.25,1.25)*2.0-z.xy;
	float r=length(z.xy);
	z.xy=rotate(z.xy,r*0.4);
	z.z=abs(mod(z.z,0.5)-0.25)-0.125;
	z.xy=Kaleido(z.xy);
	z.yz=rotate(z.yz,(0.5-r)*0.15);	
      float dSnow=DESnow(z0); 
      float d=min(r-0.025,Cone(z,0.025,1.0));	  
       float dB1=length(z0+vec3(-1.0,-1.0,-0.47))-0.6;
	float dB2=length(z0+vec3(1.18,-1.24,0.3))-0.6+cos(z0.y*31.5)*0.02;
	vec3 p=z0+vec3(-1.08,0.72,0.46);
	float dB3=length(p)-0.5;
	p.xy=mat2(0.913,-0.4078,0.4078,0.913)*p.xy;
	float dB4=max(abs(p.y-0.55)-0.05,length(p.xz)-0.1+sin(atan(p.x,p.z)*8.0)*0.01);
	float dB5=length(z0+vec3(-0.4,0.1,-2.4))-0.7+sin(z0.y*50)*0.01-sin(z0.z*50)*0.01+sin(z0.x*50)*0.01;
      float dB6=length(z0+vec3(-2.3,0.07,-1.4))-0.2;
       p.y-=0.69;
      dB4=min(dB4,max(abs(p.y)-0.25,length(p.xz+vec2(p.y*p.y))-0.0025));
       float dB=min(dSnow, min(dB1,min(dB2,min(dB3, min(dB4,min(dB5,dB6))))));
             if(dB<d){
             if(bColoring && dB==dB1){mcol+=vec4(2.4,0.0,2.3,0.3);}		
		else if(bColoring && dB==dB2){mcol+=vec4(2.3,2.3,2.3,0.3);}
		else if(bColoring && dB==dB3){mcol+=vec4(0.0,2.4,2.6,0.3);}		
		else if(bColoring && dB==dB4){mcol+=vec4(2.0,2.0,2.0,0.3);}
             else if(bColoring && dB==dB5){mcol+=vec4(3.0,2.0,0.0,0.3);}
             else if(bColoring && dB==dB6){mcol+=vec4(3.0,0.0,0.0,0.3);}
             else if(bColoring && dB==dSnow)mcol+=vec4(3.0,3.0,3.0,0.05);
	      }else{
	      if(bColoring && dB-d){mcol+=vec4(0.6,1.4,0.6,0.0)*r;}
 }	
return max(min(d,dB),-z0.z-4.0);
}
 
float DE(vec3 z){
return min(DESnow(z),DEFir(z));
}
 
 
 
 
 
 
#preset default
FOV = 0.47058
Eye = 2.44185,-0.380486,3.12248
Target = -1.579,1.85944,-4.45011
FocalPlane = 2.8409
Aperture = 0.01
FudgeFactor = 0.68354
MaxRaySteps = 200
MaxShadowSteps = 200
MaxDistance = 89.5001
ForwardStep = 0.12987
Specular = 1.6456
SpecularExp = 16.364
DiffuseContrast = 0.76087
ShadowContrast = 0.7
ShadowCone = 0.05
LightColor = 1,0.666667,0
LightDir = 0.5,0.5,-0.5
BGColor = 0,0,0.494118
Reflection-Blur = 2
Up = 0,1,0
#endpreset
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Последнее редактирование: 5 года 2 мес. назад от SCORPION.
Администратор запретил публиковать записи гостям.
Отлично! сказали: adminus, androceus, Ballista Cheng

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1046

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Немного доработал Subblue-Raytracer.frag. Получилось немного не то, что хотелось, но хоть что то....
1. Добавлена возможность расскраски фрактала.
2. Добавлен регулятор гаммы изображения.
3. Разблокирована возможность получения чёрно-белой карты (очень хорошая возможность использовать как маску для последующей обработки).

Как применить рейтрейсер? Скопируйте текст кода, вставьте в блокнот, дайте имя Subblue-RaytracerC, сохраните с расширением .frag в папку Include в директории программы.

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Теперь можете опробовать. Для примера две классики - мандельбульб:

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Администратор запретил публиковать записи гостям.
Отлично! сказали: androceus

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1084

  • Ballista Cheng
  • Ballista Cheng аватар
  • Вне сайта
  • Фракталы?... Да слышал.
  • Губка Менгера Фрактальные Штаны
  • Сообщений: 95
  • Сказали Отлично!: 112
  • Репутация: 5
SCORPION, вопрос таков: я во фраге не особо бум-бум, но в папке с рэйтрейсерами увидел hdr- Ditch-River отвечающими за амбиентосвещение. А к какому трейсеру они прикручены так и не нашел. По идее можно закинуть другие hdr и освещение кардинально поменяется?
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1086

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Ну, если можно так выразиться, то они прикручены к трейсеру IBL-Raytracer.frag. Хотя, точнее можно выразиться так: IBL-Raytracer.frag снабжён опциями и ползунками, позволяющими выбирать изображения hdr, png, jpg вкачестве карт окружения, диффузе и спекуляра.

IBL.jpg


Но это могут быть любые изображения поддерживаемых форматов из любого места. К слову, к самому распространённому DE-Raytracer.frag также можно прикрутить изображения в качесве бэка или текстуры на фрактал.
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Последнее редактирование: 5 года 1 мес. назад от SCORPION.
Администратор запретил публиковать записи гостям.
Отлично! сказали: Ballista Cheng

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1087

  • Ballista Cheng
  • Ballista Cheng аватар
  • Вне сайта
  • Фракталы?... Да слышал.
  • Губка Менгера Фрактальные Штаны
  • Сообщений: 95
  • Сказали Отлично!: 112
  • Репутация: 5
Аа спасибо! Значит можно не изобретать велосипед- все удобно и продуманно.
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1161

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Вот уж не знаю, что на меня нашло, но решил провести эксперимент - сделать 2D рейтрейсер, но с возможность обработки DE - функций. Зачем это надо? Ну, не знаю, хотелось бы попробовать на слабых видеокартах, у меня шустро работает, быстрее, чем 3D трейсеры. Собран трейсер на основе кода Тома Беддарда и его трейсеров "Subblue" и "Fractal Lab".

Вот трейсер. Необходимо скопировать его, вставить в блокнот и сохранить под именем Psevdo3D-Raytracer.frag (Расширение .frag) в папку по пути
\Examples\Include в директории программы.

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Прошу поэкспериментировать и отписаться. Для примера покрутил Mixed IFS, который я рекомендовал Алексу.

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1162

  • androceus
  • androceus аватар
  • Вне сайта
  • Администратор
  • Пришелец
  • Сообщений: 862
  • Сказали Отлично!: 771
  • Репутация: 21
Подтверждаю, работает:
Интернет полезности - мой канал на YouTube. Криптовалютные проекты + полезные советы. Перейти и ознакомится: goo.gl/JgDUJo
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 5 года 1 мес. назад #1168

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Ага, ну вот и отлично!
Вот за что я люблю фрагментариум, так это за то, что мы можем применить любой рейтрейсер и даже свой собственный! Больше такой возможности не имеет ни одна программа!

Исправленный Fast-Raytracer. Включена функция "Cycle colors", убраны незадествованные слайдеры:

yadi.sk/d/LWSGfmhlbz7hj
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Последнее редактирование: 5 года 1 мес. назад от SCORPION.
Администратор запретил публиковать записи гостям.
Отлично! сказали: androceus

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2597

  • Crist
  • Crist аватар
  • Вне сайта
  • Фракталы?... Да слышал.
  • Сообщений: 66
  • Сказали Отлично!: 157
  • Репутация: 12
Идёт моддинг трассировщика DE. www.fractalforums.com/fragmentarium/updating-of-de-raytracer/ тут новые версии появляются. Если кому интересно, попробуйте. За основу взят трассировщик с расширенным DoF. Добавлены объёмный свет, более сложный туман, изменены тени и немного принцип затенения, исправлен эффект specular, добавлен bloom-эффект, устранены косяки с артефактами (проверял на nvidia)

Администратор запретил публиковать записи гостям.
Отлично! сказали: adminus, SCORPION, AquaLena, l.k.-meliss@, Scolt

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2598

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Сергей, ты молодец, что поднял тему на фракталфоруме! respect Плюсую! :clpn: :clpn: :clpn: :clpn: :clpn: Только я не понял, что означает слово "моддинг"? dsh3
Я заглянул, скачал, но веришь-нет, даже не распаковывал архивы с трейсерами! Завал какой то, ни сил, ни времени, порой даже желания нету...
Я надеюсь, ты разберёшся и дашь мастер класс по новым рейтрейсерам? blsh

Сейчас заглянул по ссылке, там Сунтопия запостил со ссылкой но свой блог с небесным рейтрейсером. Кажись, Сергей, ты его тестил на деми, да я не обратил внимания?
Ткнул я его на бульб фраговский по умолчанию, интересненько... Чисто тест, без композиции:

Sky.jpg


Но как то недоделано... цвет солнышка не меняется, резкость диска не естественна и почему то в постообработке от Tone Mapping зависит...
Или этот трейсер усовершенствовали? Я всё, блин, пропустил! dsh3
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Последнее редактирование: 4 года 8 мес. назад от SCORPION.
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2608

  • Crist
  • Crist аватар
  • Вне сайта
  • Фракталы?... Да слышал.
  • Сообщений: 66
  • Сказали Отлично!: 157
  • Репутация: 12
Моддинг - modding, усовершенсовование, добавление нового и переделывание старого. В том стандртном DE, что идёт в комплекте с программой, всё очень просто. Самые простые и лёгкие для железа алгоритмы. Каждый визуальный эффект это отдельный кусок кода, который можно изменить/заменить на другой. Таким образом товарищ Knighty "дорисовал" его до того вида, в каком он сейчас есть на фракталфоруме. Планируется добавить god rays - лучи от источника света, минуя затенённые области. Затруднение в том, что это ресурсоёмкая здача и сделать чтоб было всё шустро - вот цель. Я пока тестирую обновления и ищу баги(в основном это черные точки когда используется DoF) Ещё 2 идеи - прикрутить IQ-Clouds и рельефное фрактальное текстурирование (типа bump mapping)

Бульбик и Kaliset. Kaliset задаёт форму рельефа на бульбике и цвет одновременно.


Думал сделать мануал, когда будут god-rays, там ещё 2 вида теней уже реализовано, пример я на деми и DA показывал.

Sky-tracer крутой, тем что там освещение имеет физическую модель. То есть оно изнчально "правильное", благодяря этому очень реалистичное, к примеру в стандартном DE каждый графический элемент (отражение, тень, свет...) как-бы сам по себе и нет взаимного влияния.
Администратор запретил публиковать записи гостям.
Отлично! сказали: Scolt

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2617

  • adminus
  • adminus аватар
  • Вне сайта
  • Администратор
  • consequat quis extralabile
  • Сообщений: 748
  • Сказали Отлично!: 544
  • Репутация: 17
Заглянул я на фракталфорумс, скачал. А дальше как? Как пользоваться?
consequat quis extralabile
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2618

  • Crist
  • Crist аватар
  • Вне сайта
  • Фракталы?... Да слышал.
  • Сообщений: 66
  • Сказали Отлично!: 157
  • Репутация: 12
adminus пишет:
Заглянул я на фракталфорумс, скачал. А дальше как? Как пользоваться?
SCORPION пишет:
Что такое Raytracer - ы в программе Fragmentarium?
Это скрипты, позволяющие визуализировать фрактал. Скрипт подключаемый, самый распространённый и довольно быстрый, это DE-Raytracer, подключается строкой
#include "DE-Raytracer.frag". Чтобы программа нашла нужный рейтрейсер, необходимо, чтобы скрипт с находился по пути: \Examples\Include в директории программы.
Естественно, мы можем изменить рейтрейсер или сделать свой и закинуть его по указанному пути.
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2619

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Можно открывать пресеты прямо из папки - тогда все необходимые фрагменты должны подключиться автоматически.
Тут важно различить пресеты и подключаемые фрагменты.
В скачанных папках пресеты это :
Baird-Delta.frag
PseudoKleinian03.frag
pythagore.frag
Simple_Kleinian-Slow-DE.frag
refl-bug1.frag
10 - Simple Distance Estimated 3D system10.frag
Запускаем фрагментариум - File-Open
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Администратор запретил публиковать записи гостям.
Отлично! сказали: adminus

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2627

  • adminus
  • adminus аватар
  • Вне сайта
  • Администратор
  • consequat quis extralabile
  • Сообщений: 748
  • Сказали Отлично!: 544
  • Репутация: 17
О, понятно! тогда я их в сборку закину - пресеты и трейсер.
consequat quis extralabile
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2628

  • adminus
  • adminus аватар
  • Вне сайта
  • Администратор
  • consequat quis extralabile
  • Сообщений: 748
  • Сказали Отлично!: 544
  • Репутация: 17
При переборе пресетов, а именно, refl-bug1.frag, ФРАГ пишет: Could not find: ShadowSoft, как их подключить?
Кроме того, не подключается: Could not find: HF__Dir

Вопрос снят! Забыл про Build((((
consequat quis extralabile
Последнее редактирование: 4 года 8 мес. назад от adminus.
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 4 года 8 мес. назад #2681

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Crist пишет:
Идёт моддинг трассировщика DE. www.fractalforums.com/fragmentarium/updating-of-de-raytracer/ тут новые версии появляются.
Как я понял по тому, что с 7 марта никакого движения. моддинг (тьфу ты, терпеть не могу иностанных слов там, где можно сказать своими словами) разработка
рейтресера закончилась. Теперь можно и подытожить и я в самое ближайшее время этим займусь....
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 3 года 11 мес. назад #3075

  • adminus
  • adminus аватар
  • Вне сайта
  • Администратор
  • consequat quis extralabile
  • Сообщений: 748
  • Сказали Отлично!: 544
  • Репутация: 17
Владимир, а какие у нас новости по Фрагу? Специально зашел на Демиарт поглядеть работы - нашел интересные именно по фрагу.
Я имею в виду новые трейсеры и возможности появились?
consequat quis extralabile
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 3 года 11 мес. назад #3076

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
Дмитрий, именно по фрагу появилось много нового!
С десяток вариаций трассировщика, цветовые палитры и другое...
Я слежу за этим, но вот что то делать - моя слабая видеокарта не тянет просто. Вот Сергей Crist этим плотно занимался, много работал над модернизацией трейсеров, он мог бы много расказать. С палитрами Сергей тоже работал. Но тут я мог бы вложить 5 копеек....
Дмитрий, обратись к Сергею, но если у него нету времени, то я попробую обобщить и хотя бы обзорно рассказать....
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 3 года 11 мес. назад #3079

  • adminus
  • adminus аватар
  • Вне сайта
  • Администратор
  • consequat quis extralabile
  • Сообщений: 748
  • Сказали Отлично!: 544
  • Репутация: 17
он же к нам не заходит(((
Владимир, просто обобщи, не надо расписываться. Плюс прикрепи, если есть в архиве новые трейсеры, палитры и другое. Я обязательно воспользуюсь.
А когда зайдет Сергей, и если у него будет время, он дополнит!
consequat quis extralabile
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 3 года 11 мес. назад #3081

  • androceus
  • androceus аватар
  • Вне сайта
  • Администратор
  • Пришелец
  • Сообщений: 862
  • Сказали Отлично!: 771
  • Репутация: 21
У Сереги сейчас просто охрененные работы на Дэвианте!
Интернет полезности - мой канал на YouTube. Криптовалютные проекты + полезные советы. Перейти и ознакомится: goo.gl/JgDUJo
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 3 года 10 мес. назад #3098

  • Crist
  • Crist аватар
  • Вне сайта
  • Фракталы?... Да слышал.
  • Сообщений: 66
  • Сказали Отлично!: 157
  • Репутация: 12
adminus пишет:
он же к нам не заходит(((
Владимир, просто обобщи, не надо расписываться. Плюс прикрепи, если есть в архиве новые трейсеры, палитры и другое. Я обязательно воспользуюсь.
А когда зайдет Сергей, и если у него будет время, он дополнит!
Привет! Если знаешь английский, тут всё самое последнее
Смысл примерно такой - есть разные идеи по улучшению/ускорению выполления кода, дорисовыванию уже существующего, написанию нового. Рендерер состоит из частей (буфер, камера, ДОФ, свет, тени, цвет, туман и т.д.) каждый кусок кода почти всегда пишется не с нуля, а берётся уже существующее решение на коком-нибудь профильном форуме и далее точится под GLSL
Что сейчас нового
- несколько моделей теней
- несколько моделей окраски (в работе)
- текстурирование (в работе)
- bump mapping (в работе)
- новая фунцция рандомных чисел wang hash (для dithering-а)
В более расщиренном трассировщике от Patryk Kizny куча мелких дополнений, и несколько принципиальных изменений в описании всё есть.

Сейчас добавили код terrain на замену обычному floor. Осталась проблема с ambient occlusion, если коротко, то ни в одном трассировщике, основанном на DE, ао не учитывает направленный свет(spotlight). Это хорошо заметно на ровных поверхностях при больших величинах ао.

DE по сути конструктор и можно наращивать код и сложность кода, пока видеокарта может обработать. Потому делать релиз готового DE со всеми плюшками нет смысла - у кого-то потянет, у кого-то нет. Можно сделать модульную структуру, используя команду #include, только этим никто не занимается. Вроде бы новые версии фрага должны уметь или умеют полностью выкидывать лишний код через команды #define. Если есть знания в GLSL буду рад помощи и развитию программы.
Сейчас вожусь с bump-mapping-ом, прикольная штука.

Администратор запретил публиковать записи гостям.
Отлично! сказали: adminus

Raytracer - ы фрагментариума. 3 года 10 мес. назад #3101

  • adminus
  • adminus аватар
  • Вне сайта
  • Администратор
  • consequat quis extralabile
  • Сообщений: 748
  • Сказали Отлично!: 544
  • Репутация: 17
О, привет! Клево, буду смотреть!
consequat quis extralabile
Администратор запретил публиковать записи гостям.

Raytracer - ы фрагментариума. 5 мес. 4 дн. назад #4412

  • SCORPION
  • SCORPION аватар
  • Вне сайта
  • Модератор я...
  • Всё получилось, а никто не заметил...(
  • Сообщений: 530
  • Сказали Отлично!: 464
  • Репутация: 38
androceus пишет:
Подтверждаю, работает:

Пипец... Ни один мой рейтресер не запускается. И не пойму, что изменилось :dntknw:
Комп тот же, система та же. То ругается на #version120, то на строку с dot в псевдо 3D рейтрейсере. Чё за фигня, не пойму... :dntknw:
Кому это надо?
- Никому не надо...
Кому это нужно?
- Никому не нужно...
Администратор запретил публиковать записи гостям.
Модераторы: SCORPION
Время создания страницы: 0.475 секунд
1. Erik_Wollo-Blue_Radiance Play
2. Astropilot_Solar Walk IV Play
3. GERMIND _ Cosmicleaf Records Series Vol.14 Play
4. Kyoto_-_Bodhisattva_(Original_Mix) Play
5. Play