Autor Wątek: [c++] Opengl opakowany w obiekty, czy warto?  (Przeczytany 39571 razy)

Offline Q

  • Użytkownik

# Luty 18, 2014, 11:22:31
Cytuj
Co do podzielenia się, to brak jakiejkolwiek dokumentacji d mojego frameworka raczej nie jest zachęcającą rzeczą. :)
Mówisz tu o jakiejś stronce czy braku komentarzy, opisów w kodzie itp?

Wyczytałem (gdzieś na angielskiej stronie) że można zaradzić mojemu problemowi z funkcją Display() dając jej modyfikator static. Z tego co pamietam z javy to faktycznie rozwiazywało to podobne problemy ale było mało eleganckie.
A przynajmniej mnie sie to takie wydawało.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 18, 2014, 11:24:21
Cytuj
Mówisz tu o jakiejś stronce czy braku komentarzy, opisów w kodzie itp?
O generalnym braku jednego i drugiego. :)

Offline ArekBal

  • Użytkownik

# Luty 18, 2014, 14:46:37
To trochę tak, jakbyś się przyznawał do nieczytelnych nazw metod, klas bo przecież to wystarczy(pomijam jakieś mocno wyspecjalizowane klasy). :)

Offline Q

  • Użytkownik

# Luty 18, 2014, 14:55:52
No mnie też się tak wydawało, bo przeciez jesli masz dobrze napisany kod w nagłowkach to IDE sam podpowie.
A i po nazwach metod mozna się zorientować co robi.
Ale pewnie chodziło o to że bez jakiegoś wiekszego opisu, tutoriala trudno jest tym kogoś zainteresować.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 18, 2014, 14:57:20
To trochę tak, jakbyś się przyznawał do nieczytelnych nazw metod, klas bo przecież to wystarczy(pomijam jakieś mocno wyspecjalizowane klasy). :)
To akurat jest w porządku, ale nie wszystko jest przecież od razu oczywiste po przeczytaniu samych nagłówków. Ot, chociażby które definicje flag bitowych idą do których funkcji. A to tylko jeden z przykładów.

Offline Xion

  • Redaktor
    • xion.log

  • +2
# Luty 18, 2014, 15:16:38
Zamiast tłumaczyć się obszernie, jak to twój framework jest zagadkowy i nieudokumentowany, mógłbyś część tego czasu  przeznaczyć na napisanie jakiegoś kawałka dokumentacji :)

Offline ArekBal

  • Użytkownik

# Luty 18, 2014, 15:37:57
Ot, chociażby które definicje flag bitowych idą do których funkcji.
A nie dało się tego zrobić na enumach? Nie chciało się(czytaj: za dużo walenia się z rzutowaniem, albo dodawaniem operatorów), czy jakieś inne przciwwskazania?

PS. Oczywiście domyślam się że to taki przykład z głowy...

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 18, 2014, 16:06:22
Cytuj
A nie dało się tego zrobić na enumach? Nie chciało się(czytaj: za dużo walenia się z rzutowaniem, albo dodawaniem operatorów), czy jakieś inne przciwwskazania?
W sumie jest to jakiś pomysł, chociaż z drugiej strony wolał bym nie polegać aż tak na optymalizacjach kompilatora.

Cytuj
Zamiast tłumaczyć się obszernie, jak to twój framework jest zagadkowy i nieudokumentowany, mógłbyś część tego czasu  przeznaczyć na napisanie jakiegoś kawałka dokumentacji :)
Podobnie jak większość tutejszej społeczności mogła by pisać gry zamiast rozmawiać tutaj o ich pisaniu. Takie życie. :)

Zresztą, Xion, już pisałeś na compotach na tym frameworku więc sam powiedz czy warto. :)

Offline Xender

  • Użytkownik

# Luty 19, 2014, 01:00:13
W sumie jest to jakiś pomysł, chociaż z drugiej strony wolał bym nie polegać aż tak na optymalizacjach kompilatora.
AFAIK enumy i inty kompilują się do dokładnie tego samego, więc gdzie tu miejsce na [nie]optymalizację?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 19, 2014, 01:25:33
AFAIK enumy i inty kompilują się do dokładnie tego samego, więc gdzie tu miejsce na [nie]optymalizację?
W operatorze | dla tych enumów.

Offline Xender

  • Użytkownik

# Luty 19, 2014, 03:05:54
W operatorze | dla tych enumów.
Co z nim? Czemu miałby kompilować się do czegokolwiek innego, niż operator | dla intów?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 19, 2014, 11:12:33
Co z nim? Czemu miałby kompilować się do czegokolwiek innego, niż operator | dla intów?
Na przykład dlatego, że jest to metoda, a nie wbudowany operator? W tym momencie polegamy np. na inliningu*, a przy okazji utrudniamy debugowanie przez "Step Into".

*) Czytałem swego czasu, jak takie poleganie okazało się u kogoś pułapką w przypadku STL, bo przekroczony został limit zagnieżdżeń inliningu.

Offline ArekBal

  • Użytkownik

# Luty 19, 2014, 12:11:59
Ja tam nie daje operatorów. W nazwie enuma Flags i niech sobie sam rzutuje i dodaje.

Oprócz wszystkich powyższych pomysłów... gdy mamy mało tych flag to można się pokusić o dodanie części wspólnych. X = 1, Y = 2, XY = 3;

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Luty 19, 2014, 12:13:49
Ja tam nie daje operatorów. W nazwie enuma Flags i niech sobie sam rzutuje i dodaje.
I w efekcie funkcje/metody docelowe przyjmują inta zamiast enuma, o którym to zmniejszeniu czytelności właśnie tu mówimy. :)

Offline Xender

  • Użytkownik

# Luty 19, 2014, 12:28:43
Na przykład dlatego, że jest to metoda
Nope nope nope. Enum nie jest klasą. Enum jest takim nieco bardziej type-safe intem.

Nawet enum class z C++ nie są żadnymi klasami, tylko mają podniesione type safety jeszcze bardziej (i pozwalają wybrać, na jakim wbudowanym typie inta mają bazować). Nie wiem, czy mają operatory arytmetyczne (zwykłe enumy mają).