Wybór języka do projektu z grafiki komputerowej

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
Enkidu
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 139
Rejestracja: 10 wrz 2008, 12:10
Płeć: Mężczyzna
Wersja Ubuntu: 13.04
Środowisko graficzne: Unity
Architektura: x86_64

Wybór języka do projektu z grafiki komputerowej

Post autor: Enkidu »

Cześć,

Chciałbym poradzić się w sprawie wyboru języka do projektu z grafiki komputerowej. Nie miałem do czynienia z programowaniem grafiki, a muszę stworzyć "wirtualną kamerę". Czy zasymulować przestrzeń 3D - narysować jakiś obiekt, stworzyć jego perspektywę, przybliżanie i oddalanie, a wszystko bez udziału jakiejkolwiek biblioteki typu OpenGL.

W czym to zrobić? W grę wchodzą jak dla mnie języki C, C++, Java, ewentualnie jakiś język wyspecjalizowany, stosunkowo łatwy do opanowania. Doradźcie coś proszę :pt36:
(Ewentualne środowisko programistyczne musi być darmowe, może być linuksowe, ale też może być windowsowe.)
adammaj1
Piegowaty Guziec
Piegowaty Guziec
Posty: 29
Rejestracja: 25 gru 2011, 12:37
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Wybór języka do projektu z grafiki komputerowej

Post autor: adammaj1 »

co to znaczy wirtualną kamerę ?
Czy mógłbyś to opisać lub podać przykład ?
Awatar użytkownika
Enkidu
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 139
Rejestracja: 10 wrz 2008, 12:10
Płeć: Mężczyzna
Wersja Ubuntu: 13.04
Środowisko graficzne: Unity
Architektura: x86_64

Re: Wybór języka do projektu z grafiki komputerowej

Post autor: Enkidu »

Mógłbym opisywać długo, ale tutaj jest bardzo szczegółowy opis: http://mst.mimuw.edu.pl/lecture.php?lec ... 1&part=Ch5
TrolleY
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 160
Rejestracja: 06 cze 2013, 12:40
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Wybór języka do projektu z grafiki komputerowej

Post autor: TrolleY »

Jak rozumiem musisz sam zaimplementować kamerę perspektywiczną, co normalnie jest po prostu zaimplementowane w bibliotekach typu OpenGL. Potrzebujesz więc pewnie do tego tylko podstawowych funkcji rysowania 2D, a resztę musisz zaimplementować sam (wszystkie macierze opisujące kolejne przekształcenia do kolejnych układów współrzędnych itp itd). Nie wiem tylko jak bardzo twój projekt jest ograniczony (tzn czy musisz sam implementować również algorytmy np malarza czyli rozpoznawania co jest na wierzchu, albo nawet może samemu implementować algorytm Bresenhama).

Jeżeli sprawnie radzisz sobie w C/C++ to możesz spokojnie użyć do tego np biblioteki SDL2. Zapewni Ci ona podstawowe funkcje do rysowania na dość niskim poziomie jeśli to lubisz. Ogólnie SDL2 to bardzo fajna biblioteczka (umożliwia również użycie OpenGL chociaż można go nie tykać) ale jeśli nie masz dużej wprawy w C/C++ to możesz stracić dużo czasu na głupoty. Także jest to bardzo fajna biblioteka jeżeli chcesz coś pisać dla siebie (do tych celów gorąco polecam), ale niekoniecznie się nada do pisania projektu na studia pod presją czasu.
Sznurek do bardzo fajnego tutoriala SDL2: http://lazyfoo.net/tutorials/SDL/index.php

Ogólnie ja pewnie do tego typu projektu użyłbym jakiegoś prostszego języka. Nie wiem jak z bibliotekami tego typu stoi Java ale skoro ją znasz to pewnie w tym kierunku bym coś poszukał. Osobiście poszedłbym pewnie po najniższej linii oporu ze względu na to żeby nie tracić czasu i użyłbym pewnie jednak śmieciowego C# i GDI+ (tzn GDI+ jest śmieciowe a nie C# :) )
Linux Mint 17 + Cinnamon (x64) / Windows 7 (x64)
Awatar użytkownika
Enkidu
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 139
Rejestracja: 10 wrz 2008, 12:10
Płeć: Mężczyzna
Wersja Ubuntu: 13.04
Środowisko graficzne: Unity
Architektura: x86_64

Re: Wybór języka do projektu z grafiki komputerowej

Post autor: Enkidu »

Wszystkie przekształcenia macierzy i algorytmy trzeba samodzielnie zaimplementować niestety, dlatego nie można używać OpenGL. A czy z C# da się wypluć plik wykonywalny, który nie będzie potrzebował żadnych dodatkowych bibliotek? (Sorry za naiwne pytanie, ale C# to tylko wiem jak się wymawia i że bazuje na C).
TrolleY
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 160
Rejestracja: 06 cze 2013, 12:40
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: Wybór języka do projektu z grafiki komputerowej

Post autor: TrolleY »

Zapewniam cię, że nie jesteś w stanie napisać programu na grafikę komputerową bez używania specjalnych bibliotek, ale myślę że jeśli interesuje cię C# to każdy windows ma zainstalowaną maszynę .NET razem z Windows Forms i GDI+. Jeśli chodzi o SDL to na windowsie możesz spokojnie ściągnąć dllki i umieścić w tym samym miejscu co exe. Na linuxie ciężko raczej uniknąć instalacji bibliotek (tzn da się ale nie jest to standardowe podejście na linuksie).

C# ma z C wspólną tylko literę C i podobieństwa w składni. C# znacznie bliżej do Javy.
Linux Mint 17 + Cinnamon (x64) / Windows 7 (x64)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości