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
|
Verfasst am: 19.02.2005, 18:56 Titel: |
|
|
Und wie wäre es mit JPEG ohne Komprimierung? Weil 4MB pro Bild bei einem Bitmap sind schon krass... |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 19.02.2005, 19:02 Titel: |
|
|
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 |
|
 |
cout << Mini JLI'ler

Anmeldedatum: 13.02.2004 Beiträge: 48 Wohnort: Wien/Österreich Medaillen: Keine
|
Verfasst am: 19.02.2005, 19:11 Titel: |
|
|
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 |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 19.02.2005, 19:19 Titel: |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 41 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 19.02.2005, 19:23 Titel: |
|
|
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 |
|
 |
cout << Mini JLI'ler

Anmeldedatum: 13.02.2004 Beiträge: 48 Wohnort: Wien/Österreich Medaillen: Keine
|
Verfasst am: 19.02.2005, 19:26 Titel: |
|
|
Ich mach' das Teil doch auch aus Leidenschaft am Programmieren
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
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 |
|
 |
KI JLI Master

Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 20.02.2005, 01:52 Titel: |
|
|
Dein Freund könnte sich für HyperCam interessieren.  |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 20.02.2005, 12:22 Titel: |
|
|
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 |
|
 |
mfc++ JLI'ler
Alter: 40 Anmeldedatum: 18.02.2004 Beiträge: 163 Wohnort: Bettlä Medaillen: Keine
|
Verfasst am: 20.02.2005, 13:27 Titel: |
|
|
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  _________________ www.teslasystems.ch
 |
|
Nach oben |
|
 |
abc_d JLI Master Trainee

Alter: 35 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 20.02.2005, 13:45 Titel: |
|
|
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 |
|
 |
cout << Mini JLI'ler

Anmeldedatum: 13.02.2004 Beiträge: 48 Wohnort: Wien/Österreich Medaillen: Keine
|
Verfasst am: 20.02.2005, 14:57 Titel: |
|
|
@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 |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 20.02.2005, 15:02 Titel: |
|
|
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 |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 20.02.2005, 15:05 Titel: |
|
|
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 |
|
 |
cout << Mini JLI'ler

Anmeldedatum: 13.02.2004 Beiträge: 48 Wohnort: Wien/Österreich Medaillen: Keine
|
Verfasst am: 20.02.2005, 15:12 Titel: |
|
|
Gut, dann schau ich mal wegen einer PNG Library. |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 20.02.2005, 15:14 Titel: |
|
|
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 |
|
 |
|