Programowanie Grafiki Komputerowej

0

Witam.
Więc od bardzo dłuższego czasu eksperymentowałem z programowaniem a jako iż dopiero zaczynałem (Mowa o latach), często miałem problemy z opanowaniem jakiegokolwiek języka programowania, co oczywiście jest naturalne w przypadku programowania. Często się zniechęcałem i zatracałem się późnymi godzinami w tych liniach kodu. Na szczęście udało mi się jakiś rok temu przełamać i od tamtej pory uczę się głównie Pascala, C++'a i Javę. Teraz czas nadszedł na prawdziwe programy! Aplikacje okienkowe. Prawdę mówiąc podstawy mam już za sobą ale teraz mam w głowię większe plany. Pełnoprawne programy graficzne służące czemuś sensownemu. Próbowałem już c++ Builder'a, Delphi i Lazarus'a ale nie potrafię się zdecydować i dokonać wyboru. Pragnę rozpocząć prawdziwą przygodę z programowaniem grafiki i pisać prawdziwe oprogramowania np.Symulatory graficzne lub ewentualnie Gry Komputerowe. Macie jakieś pomysły?

2

"Programowanie grafiki komputerowej" prawdę mówiąc bardziej skojarzyło mi się z jakimiś sieciami neuronowymi, OpenCV i innymi takimi ;)

Często się zniechęcałem i zatracałem się późnymi godzinami w tych liniach kodu

Błędem było siedzenie późnymi godzinami w kodzie.
2~3h nauki dziennie stanowczo wystarczą, inaczej - tym bardziej na początku - zaczyna się zniechęcanie do kodu, a nie o to przecież chodzi.

od tamtej pory uczę się głównie Pascala, C++'a i Javę

Nie ma czegoś takiego jak "uczę się głównie x języków", wybierz jeden język i to niego się naucz.
Gramatyki, jego biblioteki standardowej, jakiegoś frameworka i dopiero wtedy pomyśl nad przejściem do innego.
Chyba że już na początku stwierdzisz to nie dla mnie, wtedy to odmienna sprawa.

Teraz czas nadszedł na prawdziwe programy! (...) Pełnoprawne programy graficzne służące czemuś sensownemu.

Oho, po czym to wnioskujesz? :P
Wzorce projektowe przerobiłeś?
Wiesz, co to zasada podstawienia Liskov?
Nie mam na celu zniechęceniu Cię, ale najpierw należy się czegoś porządnie nauczyć, popisać milion różnych malutkich aplikacji, a dopiero potem myśleć o "prawdziwych programach" :)

Próbowałem już c++ Builder'a, Delphi i Lazarus'a ale nie potrafię się zdecydować i dokonać wyboru.

W obecnych czasach to praktycznie z deszczu pod rynnę.
Być może zainteresuje Cię Python?

Macie jakieś pomysły?

Nauczyć się porządnie jakiegoś języka, napisać setki malutkich nikomu praktycznie nieprzydatnych aplikacji, i dopiero potem brać się "na poważnie" za pisanie czegoś większego, abyś nie skończył z ręką w nocniku, płaczem i zgrzytaniem zębów bo znowu nie wyszło.
Spokojnie, każdy z nas na początku chciał pisać Need for Speedy, jednak trzeba mierzyć siły na zamiary ;)

3

a ja tam nigdy nie mogłem napisać setki malutkich programików. Dla mnie to było bez sensu i jest takie do tej pory. Od raz wszedłem w programy z interfejsem graficznym od razu pisałem większe programy, rozwijałem przerabiałem przepisywałem i tak na okrągło, bo wtedy mnie to wkręcało i zachęcało to dalszego dłubania. Pierwszego programu napisałem na przestrzeni roku ze 30 wersji :p

4

Na szczęście udało mi się jakiś rok temu przełamać i od tamtej pory uczę się głównie Pascala, C++'a i Javę. Teraz czas nadszedł na prawdziwe programy! Aplikacje okienkowe. Prawdę mówiąc podstawy mam już za sobą ale teraz mam w głowię większe plany. Pełnoprawne programy graficzne służące czemuś sensownemu. Próbowałem już c++ Builder'a, Delphi i Lazarus'a ale nie potrafię się zdecydować i dokonać wyboru. Pragnę rozpocząć prawdziwą przygodę z programowaniem grafiki i pisać prawdziwe oprogramowania np.Symulatory graficzne lub ewentualnie Gry Komputerowe. Macie jakieś pomysły?

Przestań się uczyć programowania. Przestań cokolwiek wybierać. Przestań nierealistycznie marzyć o "przygodzie z programowaniem grafiki" (ta, wielka przygoda polegająca na tworzeniem buforu wierzchołków i mnożeniu macierzy... lol). Przestań mieć kompleksy ("prawdziwe programy"? To wcześniej pisałeś nieprawdziwe?). Przestań łapać kilka srok za ogon ("od tamtej pory uczę się głównie Pascala, C++'a i Javę"), przestań snuć w głowie "większe plany").

Jeśli to wszystko zrobisz.

To zaczniesz...

...prawdziwe programowanie.

Czyli po prostu pracę u podstaw. Nie ględzenie "co by było gdyby" a branie się solidnie do pracy. Chcesz pisać programy? To piszesz. W razie czego może parę tutoriali będzie potrzebnych. Może będzie potrzeba trochę obniżyć poprzeczkę i zamiast robić coś wielkiego, zrobić coś mniejszego na początek, albo zamiast robić np. w czystym OpenGL (bo piszesz, że chcesz "programować grafikę"), użyć gotowej biblioteki/frameworka. Może będzie potrzeba z czegoś zrezygnować i zamiast uczyć się jednocześnie Pascala, C++ i Javy wybrać jeden język a resztę odrzucić (i nie, to nie jest żadna życiowa "decyzja" w stylu "ślub" czy "wybór studiów". Zawsze przecież możesz się później przekwalifikować znowu).

TL;DR: za dużo teorii, marzeń, nierealnych oczekiwań, chwytania kilku srok za ogon, a za mało pracy u podstaw. Za dużo uczenia, za mało robienia.

0

Jeśli chcesz szybko zobaczyć efekty swojej pracy i chcesz pisać aplikacje graficzne, to idź od razu w Unity 3D ;) Może nie daje to tyle satysfakcji, co pisanie własnego "silnika", ale na pewno szybciej w tym stworzysz stabilną aplikację.

Ma całkiem sprawny system GUI, więc bajeranckie programy okienkowe też w tym napiszesz i co ważniejsze, od razu odpalisz je na swoim telefonie ;)

0

W ogole to czego trzeba sie uczyc w tej dziedzinie?

Widze to troche tak:
C na poczatek wypadaloby znac
C# jesli unity
C++ do wszystkiego innego, np unreal
Opengl
Metal, objective c do ios
Java jesli gry na androida

Ogolnie gruby temat sie wydaje ;)

0

Po co ci C ? - wydaje mi się że jest zbyt niskopoziomowy do pisania gier/programów graficznych. O pomocnicze biblioteki też pewnie nie jest łatwo.

C# w unity jest prosty jak budowa cepa, wiele rzeczy jest podobnych jak w innych językach obiektowych, musisz tylko często zaglądać do oficjalnej dokumentacji/tutoriali unity. Bierzesz uczysz się tego co aktualnie potrzebujesz.

Programowanei silników (openGL , DirectX) to wyższa szkoła jazdy, i możesz się łatwo zniechęcić. Najpierw radziłbym ci programować w gotowych silnikach, a potem jak zobaczysz jak to działa ewentualnie możesz. Gotowe silniki pozwolą ci łatwiej zrozumieć idee ich działania.

ios i android - co do tego to akurat nie mam zdania. Ale raczej wybierz to co cię najbardziej pociąga

"Gruby" - nie musisz się wszystkiego uczyć, najpierw weź to co ci się wydaje najbardziej pociągające, zrób program/gre cokolwiek, oceń czy dalej ci się podoba czy nie, jeśli nie to zmień, jeśli tak to rozwijaj. Potem ewentualnie możesz doszkalać się w innych technologiach.

0

Wydaje mi sie, ze na poziomie akademickim i jakis algorytmow powinienem znac C. By lepiej rozumiec dzialanie. A jesli kiedys nastapi IT armaggedon to odrodzi sie z jezyka C :p

Ja jestem samoukiem i w branze wbilem sie dzieki javie.

Obecnie zastanawiam sie czy nie pobawic sie w czyms zgola innym.

I po krotkim namysle postawilbym na chwilowa nauke C a pozniej c# i unity.

0

jeśli chcesz sie bawić w C to kup se arduino lub coś podobnego i z nim się baw bo dopiero tam czujesz co może ten język, gdy musisz optymalizować kod bo za dużo ci zjada pamięci :)

0

Hmm a raspberry pi nie daloby sie wykorzystac? Bo kiedys dostalem i sie kurzy ;)

0
Biały Mleczarz napisał(a):

Hmm a raspberry pi nie daloby sie wykorzystac? Bo kiedys dostalem i sie kurzy ;)

Nie bawiłem się z tym nigdy ale pewnie da rade chociaż tam ramu jest pewnie więcej niż te 2kB które dostaniesz w standardowym arduino :)

0

Na raspbery najczęściej słyszałem, że w Pythonie robią ;)

2

Hmm a raspberry pi nie daloby sie wykorzystac? Bo kiedys dostalem i sie kurzy ;)

Nie bawiłem się z tym nigdy ale pewnie da rade chociaż tam ramu jest pewnie więcej niż te 2kB które dostaniesz w standardowym arduino

RPi w najsłabszej wersji ma 256 MB RAM, a bardziej sensowne 512 MB - 1 GB, to bardziej komputer (nawet jeżeli słaby) niż mikrokontroler.

1 użytkowników online, w tym zalogowanych: 0, gości: 1