Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

02.06.2009, 20:04

Sag doch einfach mal was du schon gemacht hast und was du alles kannst.

Um etwas zu lernen ist ein Buch immer hilfreich !

um das buch geht es :
https://www.spieleprogrammierer.de/index.php?option=content&task=view&id=8&Itemid=

12

02.06.2009, 20:14

Naja ich finde es ein bisschen übertrieben, er fragt "nur" nach Grafik auf den Bildschirm bekommen und ihr wollt ihm ein buch über 3d Programmierung mit Dx andrehen?
Wenn ein buch dann wohl eher :"Windows-Programmierung: Das Entwicklerhandbuch zur WIN32-API" von "Charles Petzold" (Wenn er Windowsuser ist)
Schließlich hat er nie gefrage wie programmier ich ein 3d Spiel.
Lg oxy

13

02.06.2009, 20:30

ich weis es ja zu schätzen das ihr euch für mich bemüht aber ich weis leider immernoch net weiter...

kann in c++ so wie ich das sehe alles mögliche(naja wenigstens ziemlich viel^^)
halt nur nix übers grafische

14

02.06.2009, 20:39

wie du meinst du kannst c++ ziemlich gut bis auf was grafisches auf den Bildschrim zu bringen?

Nunja wie schon oft gesagt C++ kann an sich keine grafik auf den Bildschirm bringen.
Dazu brauchst du eine extra bibliothek und welches solche bibliotheken sind hab ich oben schonmal aufgeführt.

lg dna

15

02.06.2009, 20:45

Zitat

Es gibt viele Wege die ans Ziel führen!


1. Du schreibst dir einen BMP Loader und dann zeichnest du ganz viele Punkte in der Konsole, die der Farbe des Pixels im Bild entsprechen. Ist zwar nicht unbedingt schön aber es geht.

2. Du benutzt die WinAPI: http://www.c-plusplus.de/forum/viewtopic-var-t-is-143003.html

3. Du benutzt orgent eine andere Lib wie SDL, Qt oder SFML.

Wenn du später einmal mit Direct3D arbeiten willst empfehle ich dir die WinAPI. Hier kann dir niemand wirklich weiter helfen, da du die meiste arbeit dafür schon aline machen musst, wie dir die bevorzugte lib runter zu laden und zu installieren, ein Fenster an gezeigt zu bekommen etc ...

16

02.06.2009, 20:55

ich hab mir mal ein sdl turitorial angeschaut und das gefunden

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "SDL_endian.h" // für einen 24-Bit-Modus unabhängig von der Bytereihenfolge


void DrawPixel(SDL_Surface *screen, int x, int y,
Uint8 R, Uint8 G,
Uint8 B)
{
    Uint32 color = SDL_MapRGB(screen->format, R, G, B);

    if ( SDL_MUSTLOCK(screen) ) {
        if ( SDL_LockSurface(screen) < 0 ) {
            return;
        }
    }
    switch (screen->format->BytesPerPixel) {
        case 1: { // vermutlich 8 Bit

            Uint8 *bufp;

            bufp = (Uint8 *)screen->pixels + y*screen->pitch + x;
            *bufp = color;
        }
        break;

        case 2: {// vermutlich 15 Bit oder 16 Bit 

            Uint16 *bufp;

            bufp = (Uint16 *)screen->pixels + y*screen->pitch/2 + x;
            *bufp = color;
        }
        break;

        case 3: { // langsamer 24-Bit-Modus, selten verwendet 

            Uint8 *bufp;

            bufp = (Uint8 *)screen->pixels + y*screen->pitch + x * 3;
            if(SDL_BYTEORDER == SDL_LIL_ENDIAN) {
                bufp[0] = color;
                bufp[1] = color >> 8;
                bufp[2] = color >> 16;
            } else {
                bufp[2] = color;
                bufp[1] = color >> 8;
                bufp[0] = color >> 16;
            }
        }
        break;

        case 4: { //

            Uint32 *bufp;

            bufp = (Uint32 *)screen->pixels + y*screen->pitch/4 + x;
            *bufp = color;
        }
        break;
    }
    if ( SDL_MUSTLOCK(screen) ) {
        SDL_UnlockSurface(screen);
    }
    SDL_UpdateRect(screen, x, y, 1, 1);
}



aber wenn ich das in meinen kompiler(dev-c++)kopiere kommt das hir:


[build Error] [main.o] Error1


und das wird net ausgeführt und ich finde den fehler net...

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

17

02.06.2009, 21:27

Die Fehlermeldung sagt auch nichts aus. Versuch mal eine andere Entwicklungsumgebung, Code::Blocks oder Visual Studio 2008 Express.
Und bitte die Code Tags benutzen.

18

02.06.2009, 21:34

Dir fehlt komplet eine int main funktion,
was istn das fürn tutorial?
Das was du gefunden hast ist nicht so richtig ein tutorial sondern mehr ein beispiel, ist für den kompletten einstieg nicht zu empfehlen.
ich empfehle wikibooks der link hierzu wurde schonmal gepostet

Werbeanzeige