Zawartość dodana przez Skoti
-
Język Python w 3ds Max
@chyziryzisusipiesi: Python nie jest taki znowu fajny - niezbyt przyjemnie się pisze, sprzyja robieniu błędów i jest powolny... ale ma zalety jak to, że może skorzystać z zewnętrznych bibliotek (i rozszerzać praktycznie nieograniczenie swoje możliwości) i tak tu skrypty będą tworzyć okienka w QT, jak ktoś będzie chciał to może robić obliczenia na GPU to użyje PyCUDA/PyOpenCL... Co do "konsolidacji" to sama nauka nowego języka skryptowego można liczyć w godzinach, a największym problemem jest poznanie API (a tu wszędzie jest inaczej) w danym programie, więc ten czy inny język nie robi wielkiej różnicy.
-
Wideo: Prezentacja CausticRT
@_Arti_: akurat karty Caustic nie są w żadnym wypadku przeznaczone dla graczy - gry z GI jednak nadchodzą (z tym, że nie raytracing). @Temporal: Akurat w grach to krok w tył - żeby na tej samej karcie zrobić raytracing to trzeba zrezygnować z wielu efektów które teraz są - fakt zyska się wielokrotne odbicia, ale ostatecznie jakość się pogorszy... na RT w grach jeszcze trzeba trochę poczekać.
-
YafaRay sun bez cienia ??
Yafaray nie robi bez cieni, bo nie dali przełącznika - nie dlatego, że to nie Mental Ray. Ścisły raytracer? "Ścisły" raytracer (czyli taki jakie były pierwsze raytracery) nie ma cieni (ani nawet oświetlenia). To, że nie ma takiej opcji wyłączenia to oznacza tylko tyle, że nie ma - nie dorabiaj do teorii do tego, że powodem jest to, że jest raytracerem lub "ścisłym raytracerem", bo jest to bzdura. Jeśliby to były zwykłe bufory cieni (ogólnie nazywanie ich tak w tym wypadku do duże nacięgnięcie) to tak byłoby to bezsensu - jednak radiosity to nie bufory cieni, a buffory, które w prawdzie uwzględniają głębokość (im dalej leci promień tym ma mniejszą moc sam z siebie - nie tylko po odbiciach), tak jak w shadow buffer (a dokładniej depth buffer wykorzystywanych w shadow mappingu), z tym, że nie zapisuje w bufforze informacji o głębi, a o naświetleniu płatu (przez promienie).
-
[PYTHON] jak dostać się do UV wierzchołków
Jak to jak? Idziesz po face i sprawdzasz czy masz już to w tablicy wcześniej... jak tak to zapisujesz do indexu numer... indeksu, a jeśli jeszcze nie miałeś takich danych to dopisujesz je na końcu i do indeksu dajesz odpowiedni indeks. Problem w tym, że wtedy będzie mało zajmował... ale będziesz musiał go jeszcze przetworzyć w programie (opengl i dx nie przyjmą Ci innych indeksów dla normalnych i innych dla wierzchołków)... czyli przeciwnie niż piszesz nie musisz, a nawet nie możesz mieć unikalnych wierzchołków! Musisz mieć unikalne zestawy wierzchołek, uv, normalna, więc jak różni się np. współrzędna x w normalnej to musisz zapisać nowy wierzchołek, uv i normalną (oraz kolor etc jeśli używasz) i w indeksie dać nową wartość... zapisując n indexów do n różnych tablic zaoszczędzisz miejsca (choć nie zawsze), ale będziesz musiał przetworzyć dane w programie. Format wejściowy nie ma nic do tego ile pamięci użyjesz i ile jak wydajnie będzie się renderować (ale fakt może dłużej wczytywać (trzeba doliczyć czas przetwarzania)) Konta mam, ale nie używam - używam praktycznie tylko jabber i irc.
-
YafaRay sun bez cienia ??
A przed chwilą mówiłeś, że się nie da wyłączyć dla każdego z osobna bo to raytracer ;p. Inną sprawą, że pass z cieniami nie zawsze tak wygląda (a tak naprawdę bardzo rzadko), bo w przypadku miękkich cieni sprawdza kilka pkt w promieniu X od renderowanego i dla każdego sprawdza czy światło z tego pkt nie jest widoczne. Nie tyle sprawdzeniu położenia co obliczeniu go przez pomnożenie punktów przez macierz widoku (i efekt poddany rasteryzacji - dokładnie to samo robi OpenGL/DirectX tylko że na gpu wydajniej) - a cienie to wcale nie muszą być shadow mapping, a może być shadow volume. Radiosity tworzy buforów cieni, ale w żadnym wypadku nie przez rasteryzację tylko właśnie przez raytracing - geometrię dzieli na płaty i każdy płat ma przypisaną jakąś wartość pochłaniania światła, jak uderzy w niego promień to rozświetla płat i odbity promień w hemisferze ma mniejszą jasność i kolejny już mniej oświetla i tak do wygaśnięcia promienia lub osiągnięcia maksymalnej ustalonej głębokości. Co ma do tego drzewko? Czy raytracer czy rasteryzer praktycznie zawsze buduje się drzewko (kd-tree, octree...) mimo, że żaden ze sposobów tego nie wymaga - po prostu drzewa pozwalają łatwiej zarządzać geometrią i sprawdzać czy promień przeciął poly/poly znajduje się w zakresie widoku kamery tylko z poly które faktycznie mogą tam być, lub bardzo blisko - właśnie przez to, że buduje drzewa jest szybszy niż byłby bez ;].
-
YafaRay sun bez cienia ??
Blender internal to tylko i wyłącznie raytracer! Inne korzystają z rasteryzacji tylko ze względów historychnych i nikt tego dzisiaj nie używa (bo odkąd są dostępne shadery korzystanie z rasteryzacji na CPU jest głupim rozwiązaniem, bo to samo za darmo tylko dużo szybciej bo na gpu uzyskuje się w OpenGL/DX). Nie wiesz o czym mówisz - sam raytracing nie daje cieni (efektem niektórych z modyfikacji jak bidirectional dają przez właśnie liczenie w obie strony (i od razu daje cienie i efekty kaustyczne)) - żeby je mieć trzeba się osobno postarać i je dla każdego światła osobno policzyć (dlatego możesz cienie dowolnie modyfikować i zmieniać ich miękkość), więc wyłączyć pojedynczy cień to sprawa wręcz banalna - po prostu przy liczeniu cieni jeśli światło nie ma mieć cieni po prostu przeskakujemy do kolejnego światła ;p
-
YafaRay sun bez cienia ??
Co ma piernik do wiatraka? Sam Raytracing może być nawet bez żadnych cieni (a nawet materiałów czy oświetlenia). Btw możesz podać jeden przykład renderera który nie korzysta "tylko" z raytracingu (nie mówię o rendererach korzystających z OpenGL i Dx)? Wszystkie korzystają tylko z raytracingu tylko w rozszerzonej formie jak pathtracing (śledzi wysyłane losowe promienie w hemisphere - jednak to dalej tylko śledzenie promieni (które daje nam GI)), bidirectional raytracing/pathtracing - śledzenie promieni od oka do światła i od światła do oka (drogie obliczeniowo, ale realistyczne efekty kaustyczne, gi...), photon mapping - renderowanie w 2ch passach - raz do tekstury śledzi się promienie od światła, później finalny raytracing i mapuje teksturę z fotonami, MLT (pierwsza rzecz, której yafaray nie ma - ma to indigo, maxwell, luxrender) też opiera się tylko na śledzeniu promieni ;]. Niestety w tej chwili eksporter i/lub renderer nie obsługuje wyłączenia poszczególnego cienia.
-
[PYTHON] jak dostać się do UV wierzchołków
faces = mesh.faces for f in faces: i=0 for vert in f.v: out.write( '%f %f %f\n' % (vert.co.x, vert.co.y, vert.co.z) ) if f.smooth: out.write('%f %f %f\n' % (vert.no.x, vert.no.y, vert.no.z)) else: out.write('%f %f %f\n' % (f.no.x, f.no.y, f.no.z)) out.write('%f %f\n' % (f.uv[i].x, f.uv[i].y)) i=i+1 Teraz masz po kolei wszystkie tri, a tablica indeksów powinna, być 1, 2, 3, 4... lub jej wcale nie musi być (zajmuje to więcej miejsca niż musi, ale trudno tak najłatwiej - jak chcesz to możesz zoptymalizować (np. przez wrzucanie do pliku tylko unikalnych wierzchołków, uv, norm (kolorze, materiale...) i dla każdego przechowywać tablice indeksów)) Struktury nie możesz za bardzo zmieniać, bo najwydajniej karcie podać w VBO (dobra uprościłem nie najwydajniej, ale wydajnie) razem z tablicą indeksów (aby wysyłanych danych było jak najmniej), ale to, że takie dane musisz mieć na wyjściu nie oznacza, że takie musisz mieć na wejściu (wczytujesz z jakiegokolwiek formatu i podczas wczytywania przetwarzasz, na dane wyjściowe). Co do pythona to nie musisz się go uczyć, bo wygodniej Ci będzie (znając inny język), wczytać jakiś prosty format jak obj i skonwertować go do swojego formatu. Ja osobiście w pythonie spędziłem 2 dni w blenderze (na mobilne platformy nie bardzo nadaje się collada, bo za dużo miejsca zajmuje, a za długo trwałoby wczytywanie zasobów z mojego VFS (z kompresją bunzip2), więc musiałem napisać swój eksporter to swojego małego binarnego formatu z obsługą kości), i za długo w skryptach w swoim silniku (jego wybranie nie było najszczęśliwszym wyborem i każdy czas to za długo ;p).
-
[PYTHON] jak dostać się do UV wierzchołków
Musisz dostać się przez tri i sam sobie zbudować indeksy - po prostu nie da się zrobić tak jak robisz - po prostu jeden wierzchołek może mieć kilka współrzędnych uv czy normalnych (dodatkowo jak będziesz miał ustawiony set soild (czy soild czy smooth sprawdzisz przez face.smooth) twój skrypt spowoduje błąd - wierzchołek nie będzie zawierać normalnych - będziesz je musiał dla wszystkich wierzchołków w face pobrać z face do którego należą (bo w innym face ten sam wierzchołek będzie miał inną normalną)). Następnym razem użyj znacznika code.
-
Coś w rodzajus macro
Makro to zupełnie co innego i w aparacie też macro to nie dof - macro pozwala ustawić focus na bardzo blisko... dof w aparacie masz zawsze co byś nie ustawił, więc i przy macro jest widoczny - nawet bardziej, bo jak ostrość jest ustawiona blisko to i "daleko" jest bliżej więc bardziej rozmywa (dof masz też w oku i jak "ustawisz" ostrość na coś bliskiego to rozmyte jest to co daleko - nie ma to nic wspólnego z makro).
-
Coś w rodzajus macro
Jak to nie? Defocus Node to część silnika renderującego blendera i tam jest on zdefiniowany... jednak renderowanie nim nie jest tak szybkie jak rozwiązanie, które stosuje się m.in. w grach czyli rozmycie w oparciu o depth buffer (rozwiązanie które opisał mookie), a efekt jest porównywalny, więc na potrzeby animacji o wiele lepiej dof wykonać jako postproces w composite nodes w oparciu o głębokość w przestrzeni ekranu.
-
Z XSI do blendera
Czemu oszukujecie ;p Ma, ale tylko radiosity ;] - żeby dostać coś więcej trzeba użyć yafaray/lux render
-
alpha
Ogólnie to dziwne, że robi w 2x przebiegach (czyżbyś dał im SSS?): - Źle to Ci wyszły w takim razie tekstury/ustawienia tekstury, - Jak wyżej - dziwne, - Nie ustawiłeś w materiałach odbierających cień TraShadow (zaznacz to będą odbierać przezroczyste cienie). Jak wyżej... blender sobie radzi ;].
- Gra w blenderze horror i DOF
- Gra w blenderze horror i DOF
-
Gra multiplayer (online) w blenderze
Jak słabo znasz angielski to może na początek http://translate.google.pl/translate?hl=pl&sl=en&tl=pl&u=http%3A%2F%2Fdocs.python.org%2Flibrary%2Fsocket.html&anno=2 Po najechaniu na coś myszą pojawia się tłumaczenie (możesz też przestawić żeby tekst był po polsku, a angielski tekst podpowiedziami, ale lepiej czytać orginalny tekst ;]). PS. w dziedzinie programowania musisz znać angielski bo po polsku tekstów nawet polacy nie piszą (źle się tłumaczy niektóre zwroty techniczne, a nie ma po co bo i tak angielski wszyscy programiści znają).
-
Gra multiplayer (online) w blenderze
http://docs.python.org/library/socket.html
-
Gra w blenderze horror i DOF
Napisać shader w glsl - jest wiele stron o tym - najprostszy sposób to musisz renderować w trzech przebiegach: 1. mapa głębokości 2. normalny render 3. efekty postprodukcyjne w tym dof (rozmycie normalnego rendera w zależności od tego jak bardzo to miejsce na mapie głębokości różni się kolorem od odległości, którą sobie ustaliłeś na punkt ostrości (im bardziej się różni tym bardziej rozmywasz)) - możesz zastosować jeszcze jeden przebieg do rozmycia mapy głębokości, ale nie musisz. //tzn pierwsze 2 możesz robić w jednym przebiegu jeśli w blenderze możesz użyć z fbo i renderować w nim mrt.
- Uruchomienie Yafaraya w Blenderze 2.49a
-
Uruchomienie Yafaraya w Blenderze 2.49a
Eksporter do yafaraya właśnie nazywa się trochę zwodniczo "yafray export" - dlatego też napisałem w poprzednim poście żebyś szukał yafray, a nie yafaray ;]. PS. jakbyś chciał użyć Yafray (starą wersję) w blenderze to już nie można bo wyrzucono, ale skrypt który pokazałeś mimo, że nazywa się yafray służy do nowej wersji (czyli yafaray).
- Uruchomienie Yafaraya w Blenderze 2.49a
-
Uruchomienie Yafaraya w Blenderze 2.49a
To menu służyło do renderowania w yafrayu, a nie w yaf(a)rayu i nawet jakby było w yafarayu byź nic nie wyrenderował ;p Do renderowania w yafaray służy skrypt pythona który znajdziesz w menu render (na górze obok file, add, game...)-> yafray.
-
Python 2.5 i 2.6 jednocześnie .
Zrobić kopię biblioteki i zmień jej nazwę (windows nie obsługuje dowiązań symbolicznych mimo że sam ntfs to potrafi dlatego musisz zrobić kopię) - jeśli dobrze pamiętam biblioteka nazywa się mniej więcej tak: python26.dll (nie sprawdzę, bo z windowsa nie korzystam, a w swoich projektach przestałem używać pythona parę lat temu), a yafaray prosi o python25.dll (wrzuć to do katalogu z yafaray lub do katalogu system32).
- Glow map
- Glow map