Jarosław Czub

Ogólnie o rozwou, programowaniu i nie tylko…

Month: styczeń 2014

OpenGL Shader – PostProcesing i PreProcesingu w Raymarching’u

Dzisiaj chciałbym napisać trochę na temat PostProcessingu i PreProcessingu, czym się różnią te obydwa tematy: PreProcessingu – oznacza generowanie danych przed generacja właściwej grafiki PostProcessing –  oznacza operacje przeprowadzone po wygenerowaniu właściwej grafiki W przypadku shaderów możemy te dwa elementy wykorzystać do upiększenia lub modyfikacji generowanego obrazu: PreProcessing – do generowania pikselizacji przeliczanych punktów, generowania […]

Raymarching – Sky & Sun

Generate Sky & Sun in Ray Marching algorithm is very simple to process. When the map procedure don’t intersect a scene obiect (In my shader Hit variable is false) gl_FragColor set to background color. Is simple way to create it: First define te Sun structure: struct Sun { vec3 posistion; vec3 color; float haloSize; float […]

Raymarching – Fractal Menger sponge

Menger sponge Jest przykładem fraktala IFS (Iterated Function System) opracowanego przez austriackiego matematyka Karla Mengera w 1927 roku. Więcej na Wikipedi. W przypadku opracowania Menger’a przy pomocy shaderów posługujemy się następującym algorytmem: Generujemy sześcian Generujemy trójwymiarowy krzyż o o 6 ramionach który w kolejnych iteracjach jest przesuwany i zmieszany Odejmujemy od utworzonego sześciana Wykonujemy kolejną […]

Android – prosty formularz do podawania danych

Prosty przykład formularza do podawania danych oraz wyświetlenia ich na tosterze. Kroki: Przy pomocy Eclipse generujemy standardowy projekt Androidowy W głównej aktywności układamy komponenty GUI (TextView, EditText, Button), poniżej wygenerowany kod Activity: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingBottom="@dimen/activity_vertical_margin"     android:paddingLeft="@dimen/activity_horizontal_margin"     android:paddingRight="@dimen/activity_horizontal_margin"     android:paddingTop="@dimen/activity_vertical_margin"     tools:context=".MainActivity" >       <TextView         […]

Raymarching Distance Fields cz. III

W trzeciej części chciałbym opisać technikalia tworzenia poszczególnych modyfikacji shadera do uzyskania efektów oraz przedstawić kod shadera stanowiącego podstawkę do dalszego rozwoju: 7. Technikalia Fraktal IFS – Menger-Sponge Niebo i Słońce PostProcessing i PreProcessing Generowanie terenu Światło i cienie Ambient occlusion Odbicia Mgła Metaball 8. RayMarch shader Działającą wersję shadera można zobaczyć tutaj //————————————————– // […]

Redis zwiększenie limitu klientów

Czasami Redis zwiesza się jeżeli obsługuje powyżej 1024 klientów, wynika to z ograniczeń ilości otwartych deskryptorów w linuksie, żeby to obejść trzeba wykonać: jako root: echo 3 > /proc/sys/vm/drop_caches echo 1 > /proc/sys/vm/overcommit_memory   dodać wpis do: /etc/security/limits.conf * soft nofile 10240 * hard nofile 10240   dodać wpis do: /etc/sysctl.conf vm.overcommit_memory = 1   […]

Raymarching Distance Fields cz. II

3. Funkcja odległości (Distance estimators) Funkcja odległości jest to matematyczny opis obiektu dla danej pozycji (f) gdzie wynikiem tej funkcji jest dystans który pozwala stwierdzić czy punkt jest na powierzchni, przed obiektem lub wewnątrz obiektu: f(p)>0 – punkt (p) jest na zewnątrz obiektu f(p)=0 – punkt (p) jest na powierzchni obiektu f(p)<0 – punkt (p) […]

Raymarching Distance Fields cz. I

1. Wstęp Raymarching jest to technika generowania obrazów 3D, bazująca na zupełnie innym podejściu niż grafika 3D generowana na podstawie obiektów trójwymiarowych. Ta technika używana jest szczególnie w intrach 4kb, gdzie cała grafika jest generowana przy pomocy PixelShadera. Raymarching można go nazwać innym podejściem do Raytracingu, gdzie zamiast wyliczać punkt przecięcia promienia z obiektem na […]

© 2024 Jarosław Czub — Powered by WordPress