Ca deviens assez pointu , en gros , tu veut faire un renderer complet ? c'est un travail titanesque , pour la lumière volumétrique , la première chose qui me viens à l'esprit , c'est l'utilisation d'un volume 3D , que tu divises en milliers de zone plus petite (grid3d) , chaque zone peu être percue comme "un atome" avec ses propres propriétés ( comment un rayon agit avec la collision d'un atome ) , plus les subdivision sont petites plus l'objet volumetrique est précis , tu peut simulé des fluides ( sph ) , la fumée et la poussière sont aussi des fluides, mais en plus d'être bon en prog , il faut taquiner un peu la physiquegrabiller a écrit : Pour ce dont je parle, non il ne s'agit pas de 'post-effect' dans le cas d'un raytracer mais bien de features inhérentes au moteur de rendu. Tu parles de 'tricks' utilisés avec les moteurs OpenGL/DirectX pour simuler ce genre de features. Dans le cas d'un raytracer, le DOF, le motion blur, le volumic se font au niveau du sampling, pas une fois que l'image est rendu ou avec des effets de superpositions. Avec les moteurs de jeu 'ça le fait' mais pour une images films la qualité n'est pas suffisante et ces 'tricks' sont facilement visibles.
purept (smallpt) path tracer
Re: purept (smallpt) path tracer
Re: purept (smallpt) path tracer
Je l'ai essayé et je n'ai pas eu le rendu arrivé a 100% dans la console. Une chose sympa serait que le rendu apparaisse a chaque %age de la console.
En tout cas, j'ai mis plus d'une demi heure sur mon portable pour arriver a 100%
En tout cas, j'ai mis plus d'une demi heure sur mon portable pour arriver a 100%
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Re: purept (smallpt) path tracer
Pouvoir le régler serait plus intéressant, par exemple, tu règles l'image visible tous les 10% ou tous les 20%.SPH a écrit :Je l'ai essayé et je n'ai pas eu le rendu arrivé a 100% dans la console. Une chose sympa serait que le rendu apparaisse a chaque %age de la console.
Une chose que je ne saisis pas complètement, tu parles de créer des images de films, mais il faut bien charger ta scène, dans quelle format comptes-tu charger ça ?De mon côté ce qui m'intéresse c'est de créer des images pour des films (même avec une approche Machinima qui m'intéresse particulièrement).
Ou alors, tu ne comptes pas utiliser ce début de RT comme produit final, c'est juste des tests pour apprendre en gros comment tout ça fonctionne ?
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: purept (smallpt) path tracer
du reste , il existe des produits pro comme Maya,3dSmax, et j'en passe (meme un produit cree par Pixar de memoire )
qui disposent de renderer qu'un programme fait en Purebasic n'arrivera jamais a atteindre ... (je crois pas au pere Noel )
bien sur c'est de la "post production" (j'ai mis entre guillemets , car souvent le développement des scènes (le Mat Painting par ex) se fait même
en parallèle , du tournage ...)
je ne sais pas trop ou grabiller veut en venir , ces codes sont intéressants , mais je ne rapprocherai pas ça, même de loin
avec ce qui se fait en Production Cinématographique .....
un mec tout seul deja , c'est utopique de le voir développer un outils (quelque soit le langage) , qui rivaliserai ce qui se fait deja dans le cinéma
les mecs de chez Pixar développent des pluggins, ou bien même des outils complets de calcul, mais je pense deja qu'ils sont plusieurs
a le faire (une equipe ) .....
grabiller a peut etre des talents cachés .... mais pour le moment, j'attends de voir ....
entre l'envie,et le possible , la différence est grande .... comme l'univers
qui disposent de renderer qu'un programme fait en Purebasic n'arrivera jamais a atteindre ... (je crois pas au pere Noel )
bien sur c'est de la "post production" (j'ai mis entre guillemets , car souvent le développement des scènes (le Mat Painting par ex) se fait même
en parallèle , du tournage ...)
je ne sais pas trop ou grabiller veut en venir , ces codes sont intéressants , mais je ne rapprocherai pas ça, même de loin
avec ce qui se fait en Production Cinématographique .....
un mec tout seul deja , c'est utopique de le voir développer un outils (quelque soit le langage) , qui rivaliserai ce qui se fait deja dans le cinéma
les mecs de chez Pixar développent des pluggins, ou bien même des outils complets de calcul, mais je pense deja qu'ils sont plusieurs
a le faire (une equipe ) .....
grabiller a peut etre des talents cachés .... mais pour le moment, j'attends de voir ....
entre l'envie,et le possible , la différence est grande .... comme l'univers
Dernière modification par Backup le mar. 27/août/2013 11:11, modifié 1 fois.
Re: purept (smallpt) path tracer
C'est un outil pour des besoins spécifiques, et je suis bien content de voir ça codé en PB, pourvu que ça dure
Le raytracing me fait toujours rêver ! Et même si les moteurs de rendu ont une qualité qui tend à se rapprocher de la perfection, il est encore possible de voir de subtiles différences, et les discussions techniques sont passionnantes... Dommage que je n'ai pas le niveau !
Le raytracing me fait toujours rêver ! Et même si les moteurs de rendu ont une qualité qui tend à se rapprocher de la perfection, il est encore possible de voir de subtiles différences, et les discussions techniques sont passionnantes... Dommage que je n'ai pas le niveau !
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: purept (smallpt) path tracer
Comme expliqué dans mon premier message, ce port de smallpt en PureBasic est avant tout fait pour expérimenter autour du Monte Carlo path tracing, et effectivement pour apprendre, tester, explorer et partager avec ceux que cela intéresse.blendman a écrit :Une chose que je ne saisis pas complètement, tu parles de créer des images de films, mais il faut bien charger ta scène, dans quelle format comptes-tu charger ça ?
Ou alors, tu ne comptes pas utiliser ce début de RT comme produit final, c'est juste des tests pour apprendre en gros comment tout ça fonctionne ?
Par la suite, rien n'empêche d'aller plus loin. Rien n'est ultra compliqué quand on comprend exactement ce qu'il se passe. Mais il faut commencer par comprendre ce qu'il se passe. Pour y arriver, chacun s'y prend comme il veut/peut. Par contre, ensuite c'est du temps, parfois beaucoup de temps.
D'autres préfèrent les procès d'intention plutôt que le code lui-même, c'est une autre manière de dépenser son temps
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
Re: purept (smallpt) path tracer
@Grabiller : j'ai saisi ta démarche , donc c'est surtout pour mieux comprendre comment tout cela fonctionne plutôt que d'avoir un outil finalisé. En tout cas, c'est super intéressant de voir qu'en PB on peut faire ce genre de choses. Et merci beaucoup de partager ton code, ça permet effectivement de comprendre comment ça fonctionne. Même si ce n'est pas de mon niveau, c'est très intéressant .
Je ne sais pas du tout comment il faudrait s'y prendre pour charger une scène ou des meshs, s'il faut charger chaque info de la scène point par point ou si c'est faisable en utilisant par exemple le système 3D de pb (donc ogre) et lié ça avec ce RayTracer, mais ça me fait rêver rien que d'imaginer ça. Hélas, je n'ai pas le niveau pour faire ce genre de chose. J'avais commencé un éditeur de niveau 3D (pour jeu) à une époque, mais je ne sais pas du tout comment on pourrait charger un obj 3D et le rendre avec ton moteur ^^. Je regarderai à l'occasion pour voir si je trouve des pistes, mais je doute que ce soit à ma portée.
En tout cas, encore merci pour les explications
Je ne sais pas du tout comment il faudrait s'y prendre pour charger une scène ou des meshs, s'il faut charger chaque info de la scène point par point ou si c'est faisable en utilisant par exemple le système 3D de pb (donc ogre) et lié ça avec ce RayTracer, mais ça me fait rêver rien que d'imaginer ça. Hélas, je n'ai pas le niveau pour faire ce genre de chose. J'avais commencé un éditeur de niveau 3D (pour jeu) à une époque, mais je ne sais pas du tout comment on pourrait charger un obj 3D et le rendre avec ton moteur ^^. Je regarderai à l'occasion pour voir si je trouve des pistes, mais je doute que ce soit à ma portée.
En tout cas, encore merci pour les explications
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: purept (smallpt) path tracer
En fait, à ce stade d'expérimentation avec ce code, charger une 'scène' ou des objets quelconques n'a que peu d'intérêt car c'est un problème indépendant des algorithmes de raytracing, path tracing etc.. et fait appel à un autre domaine: le partitionnement spatial (les structures d'accélération d'intersection).blendman a écrit :Je ne sais pas du tout comment il faudrait s'y prendre pour charger une scène ou des meshs, s'il faut charger chaque info de la scène point par point ou si c'est faisable en utilisant par exemple le système 3D de pb (donc ogre) et lié ça avec ce RayTracer, mais ça me fait rêver rien que d'imaginer ça../..
En gros dans le code publié plus haut il suffirait d'implémenter une autre version de la fonction 'intersect' prenant en charge d'autres types d'objets que des sphères (et ajouter quelque modifs pour que cette fonction retourne d'une manière générale les informations concernant le point d'intersection: position, normal, uv, dérivatives, etc..).
Mais en terme de raytracing/pathtracing pure, surtout au niveau des algorithmes de sampling, de lighting, de shading, de denoising, etc.. c'est tout à fait secondaire pour l'instant, en tout cas pour ma part, tant que je n'ai pas testé les algorithmes qui m'intéressent.
Avant de construire une maison, il faut des fondations solides, et pour l'instant je n'en suis qu'à ces fondations.
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: purept (smallpt) path tracer
Oui ça serait plus sympa d'afficher l'image au fur et à mesure mais cela implique un travail sur l'UI qui dépasse le cadre de ces expérimentations avec purept.blendman a écrit :Pouvoir le régler serait plus intéressant, par exemple, tu règles l'image visible tous les 10% ou tous les 20%.SPH a écrit :Je l'ai essayé et je n'ai pas eu le rendu arrivé a 100% dans la console. Une chose sympa serait que le rendu apparaisse a chaque %age de la console.
Mais à terme c'est bien ce que j'ai l'intention de faire avec raafal.
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
Re: purept (smallpt) path tracer
D'autant que cet algo ne s'intéresse qu'à des objets "purs" mathématiquement, comme la sphère. Mais les objets modélisés sont souvent composés (ou plutôt décomposés d'autres types d'objets, il faudrait au minimum qu'il prenne en charge les triangles, puis d'autres types de polygones, les nurbs et autres, déjà ça c'est du boulot ! Comme le dit grabiller, il faut bien réfléchir et avoir de bonnes fondations. M'enfin à notre époque il y a déjà beaucoup de code tout fait pour ces tâches pas très amusantes. L'aspect rendu est plus fun
Re: purept (smallpt) path tracer
Au fait, pour G-Rom: http://igad.nhtv.nl/~bikker/ (la page des download foire un peu, mais on peut voir facilement tous les fichiers)
Un très bon article sur l'art du rendu 3D : http://www.fxguide.com/featured/the-art-of-rendering/
Un très bon article sur l'art du rendu 3D : http://www.fxguide.com/featured/the-art-of-rendering/
Re: purept (smallpt) path tracer
Je rejoins ce qu'a dit Dobro , car même si le raytracing est simple en lui même , tout se qu'il y a tout autour et très long à développé. si c'est mal conçu dès le départ , il faut recommencer , etc...grabiller a écrit :D'autres préfèrent les procès d'intention plutôt que le code lui-même, c'est une autre manière de dépenser son temps
Tu n'a pas non plus l'air d'être un lapin de 6 semaines , je pense que tout ça tu le sais déjà
Pour ton projet raafal , tu en est ou ?
Merci , je vais jeté un oeil.djes a écrit :Au fait, pour G-Rom: http://igad.nhtv.nl/~bikker/ (la page des download foire un peu, mais on peut voir facilement tous les fichiers)
Un très bon article sur l'art du rendu 3D : http://www.fxguide.com/featured/the-art-of-rendering/
Re: purept (smallpt) path tracer
j'ai hésité a répondre a ça , parceque la partie "plutôt que le code lui-même" est ambigue ...D'autres préfèrent les procès d'intention plutôt que le code lui-même, c'est une autre manière de dépenser son temps
parles t"il du fait que je ne post pas de code ?
non parceque .... m'enfin ... non rien , on va encore dire que ....
bon je sort
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: purept (smallpt) path tracer
C'est juste que je me demande ce que ce genre de remarques vient faire dans la discussion:Dobro a écrit :j'ai hésité a répondre a ça , parceque la partie "plutôt que le code lui-même" est ambigue ...D'autres préfèrent les procès d'intention plutôt que le code lui-même, c'est une autre manière de dépenser son temps
parles t"il du fait que je ne post pas de code ?
non parceque .... m'enfin ... non rien , on va encore dire que ....
bon je sort
Dobro a écrit :../..du reste , il existe des produits pro comme Maya,3dSmax, et j'en passe (meme un produit cree par Pixar de memoire )
qui disposent de renderer qu'un programme fait en Purebasic n'arrivera jamais a atteindre ... (je crois pas au pere Noel )../..
Dobro a écrit :../..je ne sais pas trop ou grabiller veut en venir , ces codes sont intéressants , mais je ne rapprocherai pas ça, même de loin
avec ce qui se fait en Production Cinématographique ...../..
Dobro a écrit :../..un mec tout seul deja , c'est utopique de le voir développer un outils (quelque soit le langage) , qui rivaliserai ce qui se fait deja dans le cinéma../..
Et ?Dobro a écrit :../..grabiller a peut etre des talents cachés .... mais pour le moment, j'attends de voir ....
entre l'envie,et le possible , la différence est grande .... comme l'univers
C'est ce que j'appelle un procès d'intention. Juger du bien fondé ou non d'une démarche parce qu'à tes yeux cela paraît bien ou pas, possible ou pas.. Comme si j'avais à te prouver quelque chose ou t'en rendre-compte. Pardonnes-moi Dobro, mais on s'en fout un peu.
L'intérêt d'un tel thread c'est plutôt de parler du code lui-même, non ? On est tous fan de PureBasic, on se fait plaisir, on expérimente, on partage, on discute.
Parles-moi plutôt du code. As-tu détecté des erreurs ? Y-a-t-il des parties où j'aurai pu m'y prendre d'une meilleure façon ? As-tu des suggestions pour l'améliorer ? Mon portage n'est certainement pas ce qu'il y a de plus parfait il y a certainement des choses à discuter, bien que je n'ai pas chercher vraiment l'optimisation. A mon sens, c'est cela qui est intéressant.
Si ce code ne t'intéresse pas, il n'y a pas de soucis, mais à ce moment là quel intérêt de venir faire le rabat-joie ?
Dernière modification par grabiller le mar. 27/août/2013 20:01, modifié 1 fois.
guy rabiller | radfac founder / ceo | raa.tel | raafal.org
- grabiller
- Messages : 103
- Inscription : lun. 10/sept./2012 11:55
- Localisation : France - 89220 Rogny-Les-Septs-Ecluses
- Contact :
Re: purept (smallpt) path tracer
Exactement à ce point:G-Rom a écrit :../.. Pour ton projet raafal , tu en est ou ? ../..
http://www.purebasic.fr/french/viewtopi ... 36#p155736
guy rabiller | radfac founder / ceo | raa.tel | raafal.org