Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Ayke
Thema: 2D Texturverschiebung: Objekte zusammen mit der Textur verschieben
Am im Forum: Grafik und Sound

Hallo MrSparkle,

hab mein Code jetzt angepasst. Vorher hatte ich eine rießige Collection mit Rectangles (mit einer Stern, Nebel Texture).
Jetzt habe ich es in Blöcke aufgeteilt. Jeder block hat seine eigene Collection. Wenn der Bildschrim über ein Block navigiert
wird nur seine Collection gerendert. Es sind jetzt ca 250 Sterne und 100x Nebel (2100 Vertices, hoffentlich leuft das auch auf den Handy).


Hallo MrHiggins,

um das zu verstehen bin ich noch zu leihenhaft in diesen Bereich. Bei mir hat eine Vertex nur ein Vector wie soll ich damit einen realtischen Stern erstellen ? Was ist eine Normale ? Hab zwar schon was gelesen, war aber ziemlich das Einsteiger Buch. Hab noch ein Buch angefangen, muss mich nur noch überwinden das durch zu pauken.

Thema: 2D Texturverschiebung: Objekte zusammen mit der Textur verschieben
Am im Forum: Grafik und Sound

Habs jetzt ausprobiert und das verschieben von der Vertices zwingt mein PC in die Knie (ca 10000+ Vertices, Quadcore x ca. 2.0 Ghz).

[EDIT]
Hab grad einen Performance Profiler laufen lassen. Meine Zeichenroutine mit den Vertexbuffer hatte wohl einen kincken. Bereinigung hat leider keinen grossen Performance- Zuwachs gebracht.

Thema: 2D Texturverschiebung: Objekte zusammen mit der Textur verschieben
Am im Forum: Grafik und Sound

Hallo MrSparkle,

da gibts kein Problem. Was ist aber wenn es ein paar tausend Objekte sind die ich verschieben muss sogar welche die ausserhalb der Projektion sind. Wäre es da nicht sinnvoller die Modelview Matrix zu verschieben ?

[EDIT]
Nein macht leider keinen Performance- Unterschied.

Thema: OpenGL Spiel... Tests an verschiedenen Rechnern missglückt
Am im Forum: Grafik und Sound

Hallo Thomas_1,

ja es ist von mir. Ist nix vollständiges ich wollte es nur schon mal testen.
Ich mache ein 2D Spiel. Habe nicht an den shadern rumgefuscht, weis auch nicht was mann da mit einer 2D Engine machen kann. Ich schalte nur Blend und Texture2D an.
Hab mich entschlossen es erstmal komplett zu machen und dann solche Probleme zu durchforsten.

Thema: OpenGL Spiel... Tests an verschiedenen Rechnern missglückt
Am im Forum: Grafik und Sound

Hab eben neusten Treiber aufgespielt. Hat nix genützt.
Ich habe ein GeForce 7900 GTO in beiden Vista Rechnern.

Thema: OpenGL Spiel... Tests an verschiedenen Rechnern missglückt
Am im Forum: Grafik und Sound

Keine Ahnung die neueste von OpenTK. Ich probiere mal die Grafikkarten Treiber zu updaten.

Thema: OpenGL Spiel... Tests an verschiedenen Rechnern missglückt
Am im Forum: Grafik und Sound

Hallo,

ich habe ein OpenGL Spiel an verschiedenen Rechnern getestet.

1. Windows 7 Rechner funktioniert alles einwandfrei.
2. Windows 7 ist das Bild so dunkel das fast nix zu erkennen ist.
3. Windows Vista stellt meine Texturen nicht dar hab dann nur farbige Rectangles.
4. Windows Vista stellt meine Texturen nicht dar hab dann nur Farbige Rectangles.

Ich verliere langsam die Motivation da noch weiter zu machen. Kann es sein das auf Windows Vista die OpenGL Bibliotheken upgedated werden müssen ?

Thema: Hintergrundtexture vs. Im spiel erstellter Hintergrund. Was kostet mehr Performance.
Am im Forum: Grafik und Sound

Hallo Leutz,

mich würde Interessieren was so übern Daumen geschätzt mehr Performance verbrät.
Eine 4000 x 2000 Textur oder 8000 Vertices zu Rendern.
Beides könnte sich in einen 2D Raum bewegen (z.B Sterne)
Ich kann mir zwar fast denken das die Textur Ressourcen sparender ist, aber macht sich so ein Unterschied z.B bei einen 1000Mhz Rechner mit schlechter Grafikkarte bemerkbar?

Thema: 2D Texturverschiebung: Objekte zusammen mit der Textur verschieben
Am im Forum: Grafik und Sound

Hallo MrSparkle,

es ist eine 2D Texture. Ich mache ein 2D Spiel. Der Spielraum soll unendlich gross sein d.h. die Textur soll sich jedesmal wiederholen. Die Objekte (Planeten, Nebel etc.) im raum werden zufällig generiert und letztere wieder verworfen wie bei einer Queue (first in, last out). Ist da eine Cubemap immernoch richtige für mich ?

Thema: 2D Texturverschiebung: Objekte zusammen mit der Textur verschieben
Am im Forum: Grafik und Sound

Hallo,

ich mache grade ein kleines Spiel. Es spielt im Weltall.
Dazu habe ich ein 2D Hintergrund mit einer Textur aus Sternen. Die Textur wird verschoben wenn Sich mein Hauptobjekt (rot) bewegt. Das Hauptobjekt kann der Benutzer steuern. Es soll jedoch Nebenobjekte (blau) geben die Sich unabhängig vom Hauptobjekt bewegen (also mit der Textur). Die Texturkoordinaten gehen nur von z.B 0 - 1 oder 1 - 2 unsw... Wie bekomme ich die richtigen Nebenobjekt- Koordinaten relativ zur Textur. Ist das überhaupt der beste Weg mit der Texturverschiebung ?

                _background.SetTextureCoords(new Vector2(0.001f, 0));
                _planet.Move(new Vector2(-0.06f, 0));

        public void SetTextureCoords(Vector2 coordinates)
        {
            _movementCoord += coordinates;
            _background.TextureCoordinates =
                new Vector4(_movementCoord.X + 0.4f, _movementCoord.Y + 0.4f, _movementCoord.X + 0.8f, _movementCoord.Y + 0.8f);
        }

        public void Move(Vector2 amount)
        {
            _circle.PostionCoordinates = _circle.PostionCoordinates + amount;
        }

Thema: Suche Informationsquellen zu OpenGL
Am im Forum: Buchempfehlungen

Danke sieht jetzt auf den ersten Blick sehr interessant aus.
Allgemein nochmal zu OpenGL, kann ich das noch empfehlen.

Buch: OpenGL Superbible 5

Thema: Argumente einer Methode zur Erstellung einer Projektionsmatrix
Am im Forum: Grafik und Sound

alles klar dank dir m0rius

Thema: Argumente einer Methode zur Erstellung einer Projektionsmatrix
Am im Forum: Grafik und Sound

ich schaue mir grade ein Beispiel zu OpenTK an. Dort wird eine Projektionsmatrix erstellt. Leider verstehe ich die Argumente nicht wirklich. Ich kann zwar lesen und Englisch, ein Buch zu OpenGL hab ich auch durch aber so richtig erschliesst sich der Sinn der Argumente trotzdem nicht.

var projection = Matrix4.CreatePerspectiveFieldOfView((float)Math.PI / 4, Width / (float)Height, 1.0f, 64.0f);
Zitat
fovy
Specifies the field of view angle, in degrees, in the y direction.

aspect
Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).

zNear
Specifies the distance from the viewer to the near clipping plane (always positive).

zFar
Specifies the distance from the viewer to the far clipping plane (always positive).

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Problem gelöst. War der Dispose der Bitmap.

        public void LoadTexture(string name, string path)
        {
            var bitmap = new Bitmap(path);
            var bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
                                             ImageLockMode.ReadOnly, PixelFormat.Format32bppRgb);
            int textureId;
            Gl.glGenTextures(1, out textureId);
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, textureId);
            Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGBA8, bitmap.Width, bitmap.Height, 0, Gl.GL_BGRA, Gl.GL_UNSIGNED_BYTE, bitmapData.Scan0);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
            _textureStorage.Add(name, new Texture(textureId, path, bitmap.Width, bitmap.Height));

            //HIER LIEGT DER HUND BEGRABEN !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            bitmap.UnlockBits(bitmapData);
            bitmap.Dispose();
        }

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Hallo Pria,

Zitat
Wird hier ein Alphawert gesetzt?, wen ja welcher?
1
Zitat
Warum bindest du hier mehrmals dieselbe Textur?
Der TextureManager lädt zuerst alle Texturen die ich später benötigen werde.
Die Id der Texture speicher ich in einer Dictionary mit einen eindeutigen String zum abrufen.
Beim Rendern binde ich die TextureId erneut damit ich beim Zeichnen die richtige Textur verwende. Gibt es vielleicht sowas wie unbind texture ??
Zitat
Warum setzt du hier mehrmals die Farbe?
Tue ich nicht, jeder Vertext bekommt eine Farbe verpasst.
Zitat
Wann und wo rufst du Renderer auf?
Ich nehme mal an, dass du Renderer auch vor dem laden deiner Texturen aufrufst?
Den Renderer rufe ich ganz am Ende auf.

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Doch nicht... wenn ich jetzt mehrere Texturen lade gibt es die nächsten Probleme :(
Siehe Anhang...

Meine Textur Klasse

    public class TextureManager
    {
        private readonly Dictionary<string, Texture> _textureStorage;

        public TextureManager()
        {
            _textureStorage = new Dictionary<string, Texture>();   
        }

        public Texture GetTexture(string textureName)
        {
            return _textureStorage[textureName];
        }

        public void LoadTexture(string name, string path)
        {
            var bitmap = new Bitmap(path);
            var bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
                                             ImageLockMode.ReadOnly, PixelFormat.Format32bppRgb);
            int textureId;
            Gl.glGenTextures(1, out textureId);
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, textureId);
            Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGBA8, bitmap.Width, bitmap.Height, 0, Gl.GL_BGRA, Gl.GL_UNSIGNED_BYTE, bitmapData.Scan0);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
            _textureStorage.Add(name, new Texture(textureId, path, bitmap.Width, bitmap.Height));

            bitmap.UnlockBits(bitmapData);
            bitmap.Dispose();
        }
    }

Das laden mit der Textur Klasse

        private void InitializeTextures()
        {
            _textureManager.LoadTexture("font_arial", @"Remove\font_arial.png");
            _textureManager.LoadTexture("stupid_smile", @"Remove\stupid_smile.png");
        }

Meine Render Klasse

        public Renderer()
        {
            Gl.glEnable(Gl.GL_TEXTURE_2D);
            Gl.glEnable(Gl.GL_BLEND);
            Gl.glBlendFunc(Gl.GL_SRC_ALPHA, Gl.GL_ONE_MINUS_SRC_ALPHA);
        }

        private static void DrawImmediateModeVertex(Vector pos, Color color, Point uvs)
        {
            Gl.glColor4f(color.Red, color.Green, color.Blue, color.Alpha);
            Gl.glTexCoord2f(uvs.X, uvs.Y);
            Gl.glVertex3d(pos.X, pos.Y, pos.Z);
        }

        public void DrawSprite(Sprite sprite)
        {
            Gl.glBegin(Gl.GL_TRIANGLE_STRIP);
            {
                for (var i = 0; i < sprite.VertexAmount; i++)
                {
                    Gl.glBindTexture(Gl.GL_TEXTURE_2D, sprite.Texture.TextureId);
                    DrawImmediateModeVertex(sprite.VertexPositions[i], 
                        sprite.VertexColors[i], sprite.VertexUVs[i]);
                }
            }
            Gl.glEnd();
        }

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Funktioniert wunderbar. Dank dir Pria.

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Hier nochmal das Originalbild... weil es so schön ist

und hier sehe ich das ich den Alpha- Channel benutze xD Dann wird das wohl irgendwie damit zusammenhängen.

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

So... Jetzt bin ich schon mal ein Stück näher am Ziel. Leider habe ich jetzt um meinen Smiley diese Ecken. Woran kann das liegen ?

Was die 3 Methoden weis ich leider nicht. C&P

 Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGB8, bitmap.Width, bitmap.Height, 0, Gl.GL_BGR_EXT, Gl.GL_UNSIGNED_BYTE, bitmapData.Scan0);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);

        public void LoadTexture(string name, string path)
        {
            var bitmap = new Bitmap(path);
            var bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
                                             ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
            int textureId;
            Gl.glGenTextures(1, out textureId);
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, textureId);
            Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGB8, bitmap.Width, bitmap.Height, 0, Gl.GL_BGR_EXT, Gl.GL_UNSIGNED_BYTE, bitmapData.Scan0);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);
            Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);

            _textureStorage.Add(name, new Texture(textureId, path, bitmap.Width, bitmap.Height));

            bitmap.UnlockBits(bitmapData);
            bitmap.Dispose();
        }

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Wie meinst du ich soll die Grafik selber laden. Mit der Bitmap Klasse oder wie ??
Es gibt keine Fehlermeldung es gibt nur Darstellungsfehler wie oben im Bild angehangen.

Thema: [erledigt] devil, tao-framework, funktion iluFlipImage bereitet Darstellungsfehler
Am im Forum: Grafik und Sound

Guten Morgen,

ich lese grade ein Buch zu OpenGL und habe daraus Beispiele entnommen.
Um Texturen fur Sprites zu laden benutze ich die Devil Bibliothek die beim
Tao-Framework beiliegt. Eine Funktion bereitet jedoch Probleme "iluFlipImage".
Die ist notwendig da alle Grafiken spiegelverkehrt geladen werden.

Ich verwende .Net 4.0 mit den Tao-Framework 2.1
Bin mir sicher das es nicht an meinen Code liegt da ich es 1:1 übernommen habe und auch schon im Internet recherchiert habe. Vielleicht wisst ihr ja was.

        public void LoadTexture(string textureName, string path)
        {
            int devIlId;
            Il.ilGenImages(1, out devIlId);
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, devIlId);

            if (!Il.ilLoadImage(path))
            {
                System.Diagnostics.Debug.Assert(false,
                "Could not open file, [" + path + "].");
            }

            Ilu.iluFlipImage();

            var width = Il.ilGetInteger(Il.IL_IMAGE_WIDTH);
            var height = Il.ilGetInteger(Il.IL_IMAGE_HEIGHT);
            var textureId = Ilut.ilutGLBindTexImage();

            System.Diagnostics.Debug.Assert(textureId != 0);
            Il.ilDeleteImages(1, ref devIlId);
            _textureStorage.Add(textureName, new Texture(textureId, path, width, height));
        }

Thema: Suche Informationsquellen zu OpenGL
Am im Forum: Buchempfehlungen

Buch: C# Game Programming for Serious Game Creation

Thema: Suche Informationsquellen zu OpenGL
Am im Forum: Buchempfehlungen

Hat jemand von euch einen Link oder Buch über OpenGL + gängige OO Modelle dafür.

Thema: Mono for Android ExEn Performance
Am im Forum: Rund um die Programmierung

großes Danke !

Thema: Mono for Android ExEn Performance
Am im Forum: Rund um die Programmierung

Genau das Problem habe ich jetzt auch ^^
Und die Emulatoren laufen grottenschlecht.

Thema: Mono for Android ExEn Performance
Am im Forum: Rund um die Programmierung

Hallo,

gut zu wissen das es machbar ist. Es soll die neuern Geräte unterstüzen. LG Optimus 3D etc... Das Spiel soll ungefähr so aussehen.

Osmos

Thema: Intelligente Neuronale Netze: Börsenkurse mit NN voraussagen, ohne vorher Indikatoren zu berechnen
Am im Forum: Rund um die Programmierung

Hab ich auch im Spiegel gelesen. Ganz interessant und dein Fazit ist auch ganz nachvollziehbar :) Naja wenigstens nimmt es ein dann die Arbeit ab vor den PC zu sitzen. Frag mich sowieso wie das noch funktionieren soll nachdem jetzt schon die mehrheit der kurzfristigen Trades automatisiert sind. Wettrennen der automatisierten Handelssysteme wo jeder Normalsterblicher verliert.

Thema: Mono for Android ExEn Performance
Am im Forum: Rund um die Programmierung

Weis jemand wie das mit der Performance von ExEn Spiele für Android aussieht. Lassen sich damit vernüftige 2D spiele ohne Ruckler umsetzten ??
Ich mein alles in einem wirkt dies wie eine Notlösung, da es sonst keine möglichkeit in C# gibt Games für Android zu schreiben oder irre ich mich da ?

ExEn: XNA for iPhone, Silverlight and Android

Thema: Intelligente Neuronale Netze: Börsenkurse mit NN voraussagen, ohne vorher Indikatoren zu berechnen
Am im Forum: Rund um die Programmierung

Hät mich auch gewundert wenn das so einfach funktionieren würde.
Dann jagt mann das Netz über verschiedene Historische Kurse und für alle eine Lizenz zum Geld drucken ^^

Thema: Intelligente Neuronale Netze: Börsenkurse mit NN voraussagen, ohne vorher Indikatoren zu berechnen
Am im Forum: Rund um die Programmierung

Hi, das wird so nix. Mit 51 wahrscheinlichkeit kannst du schon glücklich sein. Vielleicht solltest du dich auch erstmal in diesen bereich
..