Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Zielony

Strony: [1] 2 3 4 5 ... 48
1
Projektowanie kodu / Odp: Przewijalny format pliku
« dnia: Sierpień 07, 2014, 00:55:37 »
Tak właśnie robię :)

2
Projektowanie kodu / Przewijalny format pliku
« dnia: Sierpień 07, 2014, 00:49:36 »
Tworzę dość nietypowy projekt, do którego muszę stworzyć format pliku po którym będzie się dało swobodnie skakać.

 - Dane są pozamykane w małe pakiety o różnej długości.

 - Informacje są odczytywane trochę jak w formatach filmowych, tj. ramka szczegółowa (jak MPEG I - frame) i kilka ramek z informacjami uzupełniającymi (MPEG P - frame). To powoduje, że skok do ramki uzupełniającej wymaga odczytania ramek wstecz aż do ramki szczegółowej.

 - W pliku znajdują się dane trzech typów umieszczone w kolejności czasowej. To oznacza, że znalezienie poprzedniej danej typu 1 może wymagać odczytania kilku ramek typu 2 i 3.

 - Plik jest zbyt duży, żeby załadować go w całości, dane zapisywane są sekwencyjnie.

Sam kombinowałem z indeksem dokładanym na koniec. W tym rozwiązaniu najbardziej karkołomne jest znalezienie i odczyt indeksu, ale reszta wygląda nieźle.

Zastanawiałem się też nad podzieleniem pliku na ramki czasowe i zmieszczeniem w każdej wszystkich wymaganych do pracy informacji (takie MPEG zawierające tylko I - frame), ale wtedy plik rośnie kilkunastokrotnie.

Nie wiem, jak się to robi w innych formatach. Np. Ogg ma możliwość skakania po pliku i da się to zrobić bez indeksu, ale nie wiem dokładnie, jaka jest zasada działania takiego wyszukiwania. Będę wdzięczny za pomysły, albo linki do jakiejś wiedzy.

3
DirectX / Odp: Jak renderować realistyczną wodę
« dnia: Lipiec 01, 2014, 23:18:35 »
Musisz sobie odpowiedzieć na kilka pytań:

1. Jaki zbiornik rysujesz:
 - dla większych są modele statystyczne, animowany szum sprawdza się nieźle,
 - dla mniejszych można policzyć pełną animację z wrzucaniem rzeczy do wody,
 - dla rzek można zrobić animację ruchu cząsteczek zgodnie z prądem

2. Jakie chcesz mieć zachowanie tafli wody:
 - realistyczne odpowiedzi można uzyskać licząc równania naprężeń (Naviera-Stokesa etc.)
 - niezłe wyniki dostaje się z integracji Verleta
 - można tylko dodawać predefiniowane animacje fali kolistej w miejscach zetknięcia przedmiotu z taflą

3. Jakie efekty ośrodka Cię interesują:
 - odbicie (reflection),
 - ugięcie (refraction),
 - promienie światła widoczne spod wody,
 - cienie na powierzchni, na dnie, albo wolumetryczne
 - mgła ze względu na zanieczyszczenie

Trochę informacji jest nawet na Warsztacie:
 - http://warsztat.gd/wiki/Rendering+realistycznej+wody+jako+efekt+post-process
 - http://polygon.hosting.polibuda.info/Prez/Marcin%20Korniluk%20-%20Modelowanie%20powierzchni%20cieczy.pdf

4
Unity 3D / Odp: Przenośność C#
« dnia: Czerwiec 26, 2014, 17:13:07 »
Ja się tylko przyczepię iOSa. Na iOSie można uruchamiać tylko kod ściągnięty ze sklepu, więc odpadają wszelkie dynamiczne elementy języka. To powoduje ogromną ilość problemów, np. przy parsowaniu JSONa z użyciem refleksji, przy używaniu zdarzeń, a nawet przy użyciu strumieni.

See: http://developer.xamarin.com/guides/ios/advanced_topics/limitations/

5
Jeśli mogę, przyczepiłbym się innej rzeczy. Twój kod opakowuje PixelShader z DX, ale w zasadzie robi niewiele więcej. Dlatego wydaje mi się, że pisanie takiej klasy mija się z celem. Jako użytkownik Twojej biblioteki chciałbym, żeby ułatwiała mi jak najwięcej, dlatego spodziewałbym się, że np. nie będę musiał sam wypełniać parametrów shadera. Wolałbym nie musieć samemu blokować bufora stałych, rzutować i przenosić do niego kawałków pamięci, a potem pamiętać o odblokowaniu. Metody do blokowania bufora sprawdzają błędy, ale potem ja i tak muszę je sprawdzić sam, bo nie wiem, czy dostanę prawidłowy wskaźnik. Wolałbym operować na parametrach i wartościach, a nie na wskaźniku na bufor.

Takie tam :)

6
Unreal Engine (UE3/UDK) / Odp: Unreal Engine dla kazdego!
« dnia: Marzec 23, 2014, 04:34:01 »
Lepiej? Na IE6 nie pójdzie raczej w ten sposób. ;)
Zjedz Snickersa, bo marudzisz :) Na moim telefonie nie działa też wersja na Androida, ale może to dlatego, że mam telefon stacjonarny? Na IE 9 Chrome promo Angry Birds działa lepiej niż na Chrome :D

A co do UE, to ciekaw jestem, co z tego będzie. Mam nadzieję, że pracownicy działu helpdesk w Epic Games mają dużo kawy i dobry humor.

7
Polskie konferencje gamedev / Odp: IGK 2014
« dnia: Marzec 23, 2014, 04:22:47 »
Nie wiem, kim jest tegoroczny organizator i co z tego będzie, ale muszę przyznać, że podoba mi się to, co się dzieje. Mi tam płacenie paru dych za konferencję nie szkodzi, ale fajnie, że prelegenci mają za darmo. Fotki publikacji i nagród, oraz aktywny udział na forum i fejsbuniu też na plus. W sumie IGK nigdy nie aspirowało do growego wydarzenia roku (tak jak WGK), ale zawsze było pozytywnie i dobrze widzieć zmiany w kierunku przywrócenia świetności konferencji.

My z dziewczęciem zamierzamy się wybrać chociażby ze względu na klimat :)

PS. Z tego miejsca chciałbym przeprosić za brak tekstu do mojej prezentacji sprzed roku, ale kolega z którym wygłaszałem prezentację kazał się wszystkim wypchać i powiedział, że nic nie napisze :(

8
Branża / Odp: Praca zdalna - gdzie ?
« dnia: Luty 07, 2014, 14:38:49 »
Jeśli szukasz niezobowiązującej pracy zdalnej za jakiekolwiek wynagrodzenie, to ja bym się zdecydował na korepetycje i pisanie projektów. Etyka etyką, różnie ludzie myślą o takich praktykach, ale fakt jest taki, że to całkiem niezłe pieniądze, chętnych jest sporo, a zadania nietrudne. Poza tym nie ma żadnych wymagań na początek.

9
Platformy mobilne / Odp: Marmalade - pytanie
« dnia: Luty 04, 2014, 15:54:13 »
Marmalade nie znam, więc się nie wypowiem. Podrzucam tylko potencjalny problem - narzędzia uniwersalne mają swoje niespodzianki i bałbym się tworzyć coś większego bez możliwości uruchomienia raz na jakiś czas na różnych urządzeniach. Robię tak nawet pisząc w Javie tylko na Androida i też czasem coś nie działa.

Odnośnie Unity, to problem jest nieźle opisany przy okazji Xamarina: http://docs.xamarin.com/guides/ios/advanced_topics/limitations/ . Chodzi o JITa, wirtualne konstrukcje generyczne, dynamiczne deserializery, Emit, refleksję, itp. - wszystko właśnie uruchamiane na VM. Apple pozwala na takie rzeczy, ale nie można uruchamiać kodu, który nie został ściągnięty co do bajtu z marketu.

10
Platformy mobilne / Odp: Android - geolokalizacja
« dnia: Luty 03, 2014, 15:58:05 »
Odpowiedni Listener, oczywiście: http://developer.android.com/reference/android/location/GpsStatus.Listener.html

Poza tym GPS daje ostatnią znaną lokalizację, która pozwala na pokazanie jakichś danych od razu, czasem nawet tych właściwych :)

11
Platformy mobilne / Odp: Marmalade - pytanie
« dnia: Luty 03, 2014, 15:52:06 »
Problem w tym, że finalna paczka wcale nie musi od razu zadziałać na każdej platformie. Pisząc aplikację z użyciem Unity3D pod koniec deweloperki zorientowałem się, że iPhone nie pozwala na wykonywanie kodu generowanego w locie i trzeba było przepisać połowę konstrukcji napisanych w C# na prostsze. W związku z tym ostateczne budowanie paczki zajęło bardzo dużo czasu. Warto jest testować aplikację na różnych urządzeniach raz na jakiś czas, żeby uniknąć niespodzianek na sam koniec.

12
Platformy mobilne / Odp: Android cykliczne wykonywanie funkcji
« dnia: Luty 03, 2014, 15:09:05 »
Ja bym nie przesadzał. Jeśli kod ma być wykonywany niezależnie w określonym momencie, to zawsze będzie jakiś wątek. Implementacji takich wykonywaczy zadań jest w androidzie kilka i większość z nich się pokrywa, jeśli chodzi o możliwości. Handler jest akurat całkiem niezły do tego celu. A wady? Wad nie ma - musisz tylko pamiętać o usunięciu zadania w odpowiednim momencie.

13
Konkursy / Odp: Global Game Jam 2014
« dnia: Styczeń 24, 2014, 15:53:04 »
Czyli ta co zwykle - audytorium :)

14
Ten kod na zakończenie to access violation. Może chodzić np. o to, że pole Dictionary::next masz niewyzerowane, więc warunek if((*d) == 0) jest spełniony i się wysypuje. Poprawiłem ze dwa drobiazgi i mi działa:

#include "memory.h"
#include "stdio.h"
#include "string.h"
#include "stdlib.h"

FILE *logFile;

struct Dictionary{
char *Key,*Value;
Dictionary *next;
};

void Log(char* str){
if(!logFile) {
logFile = fopen("log.txt","w");
}
if(logFile) {
fprintf(logFile,"%s",str);
fflush(logFile);
}
}

void AddKey(Dictionary** d, char* key, char* value){
if((*d) == 0) {
Log("Mallocing d\n");
(*d) = (Dictionary*)malloc(sizeof(Dictionary));
(*d)->next = 0;
Log("Mallocing key\n");
(*d)->Key = (char*)malloc(strlen(key) +1);
strcpy((*d)->Key,key);
Log("Mallocing value\n");
(*d)->Value = (char*)malloc(strlen(value) +1);
strcpy((*d)->Value,value);
Log("Added key : ");
Log(key);
Log(" ");
Log(value);
Log("\n");
} else {
Log("Adding to next\n");
AddKey(&(*d)->next,key,value);
}
}

void *GetValue(Dictionary *d,char *key){
while(d){
if(strcpy(d->Key,key)==0)
return d->Value;
d = d->next;
}
return 0;
}

void DeleteDict(Dictionary *d){
if(d->next)
DeleteDict(d->next);
delete d;
}

int main(){
Dictionary* root = 0;

AddKey(&root,"ABC","CBA");
AddKey(&root,"Kupa","17");
AddKey(&root,"Kupa1","18");
AddKey(&root,"Kupa2","19");

printf("%s %s\n","Kupa1",GetValue(root,"Kupa1"));
printf("%s %s","ABC",GetValue(root,"ABC"));

DeleteDict(root);

fclose(logFile);

return 0;
}

15
DirectX / Odp: Deferred Shading i MRT
« dnia: Listopad 02, 2013, 23:38:02 »
A co pokazuje PIX? Czy na render targetach nie ma nic dziwnego? Czy statusy i debug output są ok?

Strony: [1] 2 3 4 5 ... 48