JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Screenshot erstellen und speichern
Gehe zu Seite Zurück  1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 19.02.2005, 18:56    Titel: Antworten mit Zitat

Und wie wäre es mit JPEG ohne Komprimierung? Weil 4MB pro Bild bei einem Bitmap sind schon krass...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 19.02.2005, 19:02    Titel: Antworten mit Zitat

Wie wäre es mit Threads?

1 Renderthread,
1 Verarbeitunsthread
1 Aufräumthread?

Da wäre dir der Speed egal solang der RAM das mitmacht.

Außerdem: Wenn ein Format dann wenn schon PNG oder TGA und nicht so ein billig-format wie JPEG.

Oder besser: Sag uns mal ganz einfach wofür du soviele Grafiken brauchst!
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 19.02.2005, 19:11    Titel: Antworten mit Zitat

Ok, dieses Tool programmiere ich für einen Mitschüler aus meiner Klasse, der CS-Movies etc. machen möchte. Das Tool soll genau auf seine Bedürfnisse zugeschnitten sein.

Eigentlich wollte ich das Programm nur in Java programmieren, doch dann krieg ich nicht mal 10 Bilder pro Sekunde zam. Also dachte ich mir, dass ich den Teil, der die Screenshots macht und speichert in C++ implementiere und dann über das Java native intervace von einem Thread aus 30-60 mal pro Sekunde diese C++ Funktion aufrufe.

Die Schwerpunkte bei diesem Programm sind folgende:
1. min. 30 Bilder pro Sekunde
2. möglichst wenig CPU und RAM Ressourcen verbrauchen
3. die Bilder als JPEG (wenn du meinst dass es besser ist, dann als PNG) speichern, weil Bitmaps zu viel Speicherplatz verbrauchen würden

Mein Freund möchte dann diese einzelnen Bilder mit Spezialeffekten versehen und dann wieder in ein Film wandeln...aber egal, das ist kein Problem, dafür haben wir schon eine fertige Lösung.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 19.02.2005, 19:19    Titel: Antworten mit Zitat

Also ohne Dir jetzt in Deinen Vorstellungen rumzupfuschen, aber wenn man noch nicht weiß wie man einen Code richtig in einer IDE bearbeitet, geschweige denn die IDE nicht richtig bedienen kann, sollte dieses Themengebiet mal ganz schnell sein lassen.

Und für sowas was Dein Freund vor hat (was ich als Schnappsidee betittel) gibt es FRAPS auf www.fraps.com womit man Movies aufzeichnen kann und die Bitmaps später mit einem anderen Programm extrahieren kann.

Für sowas ein extra-Programm zu schreiben ist unsinnig vorallem wenn man in dieser gegen sowieso noch nicht soviel bzw. kein wissen hat.

- Patrick
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 41
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 19.02.2005, 19:23    Titel: Antworten mit Zitat

Stimmt schon, ansonsten gibts im Netz viele möglichkeiten den Screen zu capturen und als AVI zu sichern, kannst ja mal nach capturing screen avi suchen, da sollteste was finden.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 19.02.2005, 19:26    Titel: Antworten mit Zitat

Ich mach' das Teil doch auch aus Leidenschaft am Programmieren Smile

Und ja...in C++ bin ich halt ne Niete...ich hab' grad einmal bis zu den Zeigern gelernt...hab' letztens auch ein Referat über C++ im Informatik-Unterricht abgehalten Very Happy

In Java kann ich mich als fortgeschrittener Programmierer bezeichnen (Snake, Jump'n'Run, Chat, ein paar 3D Erfahrungen, Netzwerkprogrammierung, etc.), aber in C++ bin ich halt ne Niete. In mein kleines Projekt möchte ich doch nur ein paar Zeilen C++ Code einbauen...wie das geht, das weiß ich bereits...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 01:52    Titel: Antworten mit Zitat

Dein Freund könnte sich für HyperCam interessieren. Thumb Up
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 12:22    Titel: Antworten mit Zitat

Also ich habe mal in Quake movies gemacht da gibt es einen Befehl der x Screenshots pro Sekunde erstellt und AFAIK hat CS das auch.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
mfc++
JLI'ler


Alter: 40
Anmeldedatum: 18.02.2004
Beiträge: 163
Wohnort: Bettlä
Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 13:27    Titel: Antworten mit Zitat

da wir gerade dabei sind:

wie kann ich die screenshots inkrementieren? sagt man doch so.

screen1,screen2...

ich bekam hilfe, aber irgendwie geht das nit

hier der code:

CPP:
void machescreenshot (void)
   {
   static unsigned int num = 0;
   char buffer[48];
 
   sprintf(buffer, "screenshot%d", num);
 
   /* Neue Datei erstellen.*/   
    HANDLE hFile = CreateFile( 
       buffer, 
       GENERIC_WRITE, 
       FILE_SHARE_DELETE, 
       NULL, 
       CREATE_ALWAYS, 
       FILE_ATTRIBUTE_NORMAL, 
       NULL); 
 
 
   // zähler + 1
   ++num;

   }


Fehlermeldung:

CPP:
--------------------Konfiguration: ScreenShot - Win32 Debug--------------------
Kompilierung läuft...
ScreenShot.cpp
C:\Dokumente und Einstellungen\Marco.TESLASYS\Desktop\VCPP6\PROJEKTE\ScreenShot\ScreenShot.cpp(64) : error C2601: 'machescreenshot' : Lokale Funktionsdefinitionen sind unzulaessig
C:\Dokumente und Einstellungen\Marco.TESLASYS\Desktop\VCPP6\PROJEKTE\ScreenShot\ScreenShot.cpp(87) : error C2065: 'hFile' : nichtdeklarierter Bezeichner
C:\Dokumente und Einstellungen\Marco.TESLASYS\Desktop\VCPP6\PROJEKTE\ScreenShot\ScreenShot.cpp(87) : error C2446: '==' : Keine Konvertierung von 'void *' in 'int'
        Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
C:\Dokumente und Einstellungen\Marco.TESLASYS\Desktop\VCPP6\PROJEKTE\ScreenShot\ScreenShot.cpp(87) : error C2040: '==' : 'int' unterscheidet sich von 'void *' in bezug auf die Anzahl vorgenommener Dereferenzierungen
Fehler beim Ausführen von cl.exe.

ScreenShot.exe - 4 Fehler, 0 Warnung(en)


danke im voraus Wink
_________________
www.teslasystems.ch
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 35
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 13:45    Titel: Antworten mit Zitat

CPP:
#include <sstream>
#include <iostream>

#if defined(UNICODE)
    typedef wchar_t character;
#else
    typedef char    character;
#endif

//Converts a Variable to a String
template<class T>
std::string Convert2String(T t)
{
   std::basic_ostringstream<character> outstream;

   outstream << t << std::endl;
   std::string str(outstream.str());

   str.resize(str.length()-1);

   return str;
}

void machescreenshot (unsigned int num)
   {
   std::string buffer;

   buffer = "screenshot" + Convert2String(num);
 

   /* Neue Datei erstellen.*/   
    HANDLE hFile = CreateFile( 
       buffer.c_str(), 
       GENERIC_WRITE, 
       FILE_SHARE_DELETE, 
       NULL, 
       CREATE_ALWAYS, 
       FILE_ATTRIBUTE_NORMAL, 
       NULL); 
 
   }

_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 14:57    Titel: Antworten mit Zitat

@PeaceKiller

Ja, er kennt die ganzen Tools und Tricks...aber wie schon gesagt: Das Programm wird dann um Funktionen etc. erweitert, die genau auf seine Wünsche zugeschnitten sind.


Ich hab' in der MSDN Datenbank gesucht, hab' aber nichts gefunden um Images als JPEG (bzw. als PNG) abzuspeichern. Vielleicht suche ich auch nur falsch...könntet ihr mir einen Tipp geben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
PeaceKiller
JLI Master


Alter: 36
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 15:02    Titel: Antworten mit Zitat

Kannst dir ja mal das anschauen:

Developer's Image Library (DevIL)
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 15:05    Titel: Antworten mit Zitat

google -> JPEG LIB

Jpeg ist ein lizenzformat und die qualität ist fürn arsch, lass doch einfach die finger davon wenn du qualität haben willst
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
cout <<
Mini JLI'ler



Anmeldedatum: 13.02.2004
Beiträge: 48
Wohnort: Wien/Österreich
Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 15:12    Titel: Antworten mit Zitat

Gut, dann schau ich mal wegen einer PNG Library.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 20.02.2005, 15:14    Titel: Antworten mit Zitat

cout << hat Folgendes geschrieben:
Gut, dann schau ich mal wegen einer PNG Library.


PNG kann man von hand, genau wie TGA (Best Format, ever...)
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3  Weiter
Seite 2 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum