Site Flam3H
Tutoriais de Flam3H
Flam3H Instagram
Uma das principais missões era embalar todo o algoritmo e as funcionalidades que eu desejava dentro de uma ferramenta usando apenas Houdini fora da caixa. Sem HDK. Como resultado, tornou -se uma implementação um tanto conservadora, tem tudo, mas também alguns limites, pois eu precisava cortar cantos em todos os lugares, o que se tornou um processo assustador para equilibrar.
Um grande compromisso que eu precisava honrar era aprender a fazer arte fractal. Construir uma ferramenta de arte fractal sem saber o que um artista fractal precisa e sente enquanto faz isso é meio sem sentido. E assim, ao criar essa ferramenta, eu me envolvi em tanta arte fractal com ela que, inevitavelmente, desenvolvi um amor pelo campo. Era importante, para que eu pudesse moldar e orientar essa ferramenta na direção certa.
FLAM3H node OTL documentation. 
O CVEX tem sido usado para implementar o algoritmo em sua totalidade. Embora não seja uma coisa em tempo real, será muito divertido se você tiver uma CPU poderosa (duas CPUs poderosas são ainda melhores).
O código subiu e desceu e finalmente se estabeleceu na versão mais minimalista em favor do desempenho. O idioma me permitiu levar muitos atalhos. Ele está lidando com a execução de encadeamento e gerenciamento de memória e me ofereceu funções rápidas e prontas para uso, como criar e amostrar um CDF , um gerador de números aleatórios muito robustos e muito mais.
Parte do trabalho é realizada dentro do HDA no ambiente Houdini, como a ligação de atributos, o edifício da interface do usuário, as criações de parâmetros, suas condições de visibilidade, a compilação final e muito mais.
O Python tem sido usado para aprimorar a experiência do usuário e adicionar funcionalidades como: copiar/colar dados do iterador, carregar/salvar bibliotecas da paleta, carregar/salvar o formato de arquivo de Flame, respostas/automações às ações do usuário e muito mais.
Flam3 para Sidefx Houdini gera uma nuvem de ponto ao vivo da chama fractal que está sendo trabalhada, que é a renderização real. De lá para a imagem final, ela é deixada para os usuários (também conhecidos como renderização de pontos). Com o renderizador de karma integrado do Houdini, você poderá renderizar as chamas fractais geradas em tempo quase real.
As renderizações de viewport karma não usam nenhum estimador de densidade ou exibição de densidade de log (uma forma de mapeamento de tom) que está presente em outros aplicativos. Em vez disso, ele ilumina as áreas de alta densidade (mais pontos, mais brilhantes) enquanto usa a cor bruta proveniente da paleta que a chama está usando atualmente.
Um shader personalizado poderia, em teoria, implementar uma exibição de densidade de log e alguma forma de estimador de densidade. No entanto, a beleza de produzir imagens de chama fractal em um formato EXR de 16 bits ou 32 bits dará alegria quando as cor corrigirem, algo que, no VFX, tomamos como garantido.
Karma Rendering Interactive na viewport de Houdini:
Worlds - Author: Alessandro Nardini 
Its Pink - Author: Plangkye 
Altamente inspirado no software Apophysis e seu design de fluxo de trabalho.
Muitas chamas fractais de apófise estão disponíveis para download na web e você pode carregá -las dentro do Flam3H. Ou você pode usar apófise ou fractorium para autorar suas chamas primeiro e carregá -las de volta ao Flam3H. Mas também o contrário, crie suas chamas em Houdini e torne -as dentro de outras aplicações. Você tem escolhas.
Baixe Apophysis 7x aqui : Apófise 7x Download
Baixe Fractorium aqui : Fractorium Download
Imagine as possibilidades usando o paradigma processual de Houdini e os conjuntos de ferramentas para controlar todos os aspectos da sua chama. 


FLAM3 for Houdini generate a live point cloud of the fractal Flame being worked on.
Todas as configurações de renderização exigidas por programas de terceiros, como apófise e fractorium, são armazenadas juntamente com as chamas fractais quando são salvas do Flam3H.
Uma parte dos parâmetros de renderização lida com a câmera e como a chama fractal que você acabou de salvar é enquadrada.
O sensor da câmera Flam3H exibirá com precisão o enquadramento da imagem.
Uma vez emoldurado, você pode salvar a chama e ter certeza de que será a mesma emoldura em outras aplicações como apófise, fractorium e outros.

Camera sensor: FLAM3H to Fractorium
A seguir, estão algumas imagens que mostram o Flam3H renderizando alguns dos arquivos de chama de exemplo do fractorium. Alguns foram modificados para se encaixar nas variações disponíveis do Flam3H. As capturas de tela mostram Houdini Karma interativo à esquerda e fractorium com o mesmo arquivo de chama à direita.
Chocolate Scaffold in Too Many Dimensions by plangkye. Source: Fractorium
Mountain by tatasz. Source: Fractorium
Bipolar by tatasz. Source: Fractorium
Flipped disk. Source: Fractorium 
Observe que todos os seguidores também estão disponíveis como variações pré -_ e/ou post _.
Auger Cot Arch Bent Boarders Cpow Blade Bipolar Conic Blob Blur Bubble Butterfly Bwraps Cell Bent2 Coth Cos Cosh Cosine Crop Cross Csc Csch Curl Curve Cylinder Diamond Disc Disc2 Edisc Elliptic Escher Ex Exp Exponential Eyefish Fan Fan2 Fisheye Flower Flux Foci Gaussian_blur Glynnia Handkerchief Heart Hemisphere Horseshoe Hyperbolic Julia JuliaN Juliascope Lazysusan Linear Log Loonie Mobius Modulus Ngon Noise Oscope Parabola Pdj Perspective Pie Point_symmetry Polar Polar2 Polynomial Popcorn Popcorn2 Power Pre_blur Radialblur Rays Rectangles Rings Rings2 Scry Sec Secant2 Sech Separation Sin Sinh Sinusoidal Spherical Spiral Split Splits Square Stripes Supershape Swirl Tan Tangent Tanh Twintrian Waves Unpolar Waves2 Wedge Wedgejulia Wedgesph Whorl
Eles têm 106 anos, se você estava se perguntando ...
Dado o quão caro é calcular chamas fractais, não é de surpreender que as GPUs tenham realizado maravilhas nessa área também.
Os principais benefícios de estar dentro de Houdini são numerosos. Considere as opções disponíveis para você enquanto anima essas chamas com os conjuntos de ferramentas e os produtos de ferramentas de Houdini. Além disso, as bibliotecas Python Hom para Houdini podem ser usadas para criar um pipeline em torno dessa ferramenta.
O Karma e o NVIDIA Optix Denoiser embutido fazem uma combinação fantástica para renderizar imagens de chama fractal.
Até onde eu sei, não há construtores de comutação/caixa ou outros tipos de funções de ponteiro no idioma CVEX. Conectei centenas de declarações "se"/"else" para chegar à variação escolhida. Apesar dos meus melhores esforços para particioná -los, esta seção acabou se tornando um gargalo para toda a implementação.
Python Run Single Thread aqui, agora que essa ferramenta tem muito código Python em execução ou quando muitos iteradores são criados, a interface do usuário Flam3H do Houdini é lenta. Fiz algum esforço para torná -lo melhor e, na v1.4.75, finalmente consegui começar a melhorar o desempenho da interface do usuário um pouco.
Todas as automações do Python que estão em vigor atualmente são realmente "agradáveis", que melhoram muito o fluxo de trabalho. Há também uma grande parte do código Python que lida com a tornada a interface do usuário bonita e agradável de se olhar, com muitos ícones mudando com base nas ações do usuário. Um processador de computador com forte desempenho de tiro único seria muito útil aqui.
Além disso, usei mais de 128 iteradores em todos os meus testes de estresse. Na realidade, porém, nunca usei mais de 20 iteradores em nenhuma das chamas fractais que criei até agora, quase todos eles usaram menos de 10.
Quase todas as imagens de chama fractal no meu site e o Instagram usam uma média de 64 iterações máximas, algumas usam menos e outras usam um pouco mais. Algumas exceções foram acima de 128 e até 256/512.
Algumas chamas precisam realmente de um número alto de iterações para serem resolvidas corretamente.
Listados abaixo estão predefinições do software Chaotica que foram convertidas em Flam3H. Eles foram escolhidos porque alguns deles são muito caros para resolver e porque fazem uso de variações que eu já implementei.
Alguns exigem milhares de iterações para mostrar os resultados adequados; Alguns deles exigem centenas, e outros são muito rápidos.
Iterações necessárias no flam3h para resolver: 1280
ieddaka gnarl. Author: zuek 
As iterações necessárias no Flam3H para resolver: 512 (potencialmente um pouco menos são necessárias para elas, mas apenas por precaução.)
blue modulus. Author: tatasz 
lazyswirls. Author: meckie 
Iterações necessárias no flam3h para resolver: 64
majestic. Author: tatasz 
Iterações necessárias no flam3h para resolver: 32
blurry splits. Author: tatasz 
A seguir, é apresentado outro navio de software Chaotica predefinido, com eu realmente adorei ported dentro do Flam3H e renderizado com o renderizador do Karma.
Iterações necessárias no flam3h para resolver: 64
Golden Dragon - Author: meckie 
Você encontrará outros cenários em que seu número de iterações precisará se levantar, especialmente ao confiar fortemente em contêineres e outros.
No entanto, de todos os meus testes, entre 10 e 96 iterações o abordarão para quase todas as suas necessidades. E não se esqueça, você pode criar algumas lindas chamas fractais com apenas seis iterações. Aqui está um que eu fiz:
Iterações necessárias no flam3h para resolver: 6
Knot clusters - Author: Alessandro Nardini 
Eu poderia adicionar muito mais funcionalidades, mas esse projeto me consumiu por muito tempo. Todos os aspectos desse algoritmo, uma vez entendidos, parecem simples na superfície, mas todos apresentam desafios por conta própria. Foi um passeio muito louco para levar tudo nessa implementação.
É hora de estacionar esse projeto um pouco, mas eu realmente amei a longa jornada sobre esse tópico, e agora vou sempre adorar chamas fractais como um todo, elas são incríveis (e viciantes)!
Alguns dos arquivos de chama de exemplo que estou usando como prova de correção e enviados com essa implementação foram criados ou de autoria de alguns artistas fractais incríveis, usando uma variedade de aplicativos de código aberto e aplicativos gratuitos, como apófise e fractorium entre os mais populares.
Por favor, não deixe de conferir a galeria deles:
Tatasz, Plangkye, Pillemaster, Tripychaos, Tyranwave, Zy0rg
Referência A: Github :: Flam3 de Scott Draves e Erik Reckase
Referência B: Github :: Fractorium de Matt Feemster
Referência C: Github :: Apófise 7x
Referência D: PDF :: The Fractal Flame Algorithm Publicação
Flam3houdini vimeo
Todas as imagens e logotipos Copyright © Alessandro Nardini 2020-2024 e seus outros respectivos proprietários.