Entwickler-Ecke

Freeware Projekte - Product Box Creator Version 1.1


F34r0fTh3D4rk - So 29.05.05 14:13
Titel: Product Box Creator Version 1.1
It's Done

Der 3D Product Box Creator 1.1

Kinderleicht Produktboxen erstellen, in 3D betrachten
und als bmp speichern.

€: Leider nur noch als Version 1.2 hier verfügbar http://www.ilch.de/downloads-show-139.html

Freue mich auf Feedback :wink:


CenBells - So 29.05.05 20:42

bekomme auch mit rechtsklick und speichern unter immer nur die meldung "Externes linken ist nicht erlaubt." Liegt wohl an funpic.

Gruß
Ken


Harry M. - So 29.05.05 20:56

Also ich konnt es problemlos ziehn.
Wäre cool wenn Du eins zwei Demos zu packst. Ich wollte es testen jedoch hätte ich mir dafür erst Bitmaps anlegen müssen.


F34r0fTh3D4rk - Mo 30.05.05 12:10

Zitat:

bekomme auch mit rechtsklick und speichern unter immer nur die meldung "Externes linken ist nicht erlaubt." Liegt wohl an funpic.

liegt wohl an mozilla :D

Kannst ja den indirekt link nehmen den hab ich extra dafür mitgepostet :wink:

Demo Bilder sind online :!:

Neues Icon :!:


Tino - Mo 30.05.05 12:46

Es wäre sehr hilfreich wenn man direkt auf eines der Image-Controls klicken könnte damit der entsprechende Open-Dialog geöffnet wird.


F34r0fTh3D4rk - Mo 30.05.05 12:48

geniale Idee :D

Nur ist der code zum laden immer etwas lang und lässt sich auch schwer vereinfachen, dann biege ich das so, dass man das menu auch gleich weglassen kann, muss man dann aber auch wissen wies geht 8)


Tino - Mo 30.05.05 12:54

user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
dann biege ich das so, dass man das menu auch gleich weglassen kann, muss man dann aber auch wissen wies geht 8)

Und wie bedienen dann User ohne Maus dein Programm? ;-) Lass das Menü ruhig drin.


F34r0fTh3D4rk - Mo 30.05.05 12:56

stimmt habe ich nicht dran gedacht, gut dass ich die 3d ansicht dann doch net mit der maus gemacht habe :lol:

ich habe jetzt mal mein antialising der graka noch etwas erhöht und ich hab jetzt keine eckigen ränder mehr, kA ob ich das irgendwie software seitig hinbekomme, vielleicht durch manipulation der graka settings aber sonst ... :?


F34r0fTh3D4rk - Do 02.06.05 19:01

user profile iconTino hat folgendes geschrieben:
Es wäre sehr hilfreich wenn man direkt auf eines der Image-Controls klicken könnte damit der entsprechende Open-Dialog geöffnet wird.


ist eingebaut :D (ohne auch nur eine zeile code hinzuzufügen oder abändern zu müssn :wink: )

übrigens: ist nur ein opendialog :lol:


Suckerbrot - So 05.06.05 19:12

Hi ich bin neu hier und wollte fragen, wie man dieses Programm benutzt.
Ich habe jetzt alle Bilder dorthin geladen; und dann...?


F34r0fTh3D4rk - So 05.06.05 19:48

dann müsstest du rechts die 3 dimensionale box sehen, wenn nicht, dann weiß ich nicht worans liegt, mit den beispieldateien sollte es so aussehen wie auf dem screenshot, aber bei einer person hats auch schonmal nicht funktioniert :o


Suckerbrot - So 05.06.05 19:51

k danke, dann werd ich mal das mit Photoshop machen, da ich das als erstes mit paint gemacht habe.

EDIT: Geht immer noch nicht; ich habe mal ein Screenshot angehängt.

EDIT2: Danke. :D


F34r0fTh3D4rk - So 05.06.05 19:52

ach ja nochmal nachträglich :welcome: im df :mrgreen:


LH_Freak - So 05.06.05 23:30

bei mir geht's auch net :(
Naja, dann mach ich mir das halt selber :D


F34r0fTh3D4rk - Mo 06.06.05 13:53

kann am system oder an der grafikkarte liegen, getestet mit:

Athlon64 3200+
Radeon 9600 XT (256MB)
1024 MB Ram

Windows XP Home SP1


retnyg - Mo 06.06.05 14:26

user profile iconF34r0fTh3D4rk hat folgendes geschrieben:
1024 GB Ram

krazz ey... hast du ne bank ausgeräumt ? :mrgreen:


F34r0fTh3D4rk - Mo 06.06.05 14:27

das ist doch standard oder net ? ich wollte eigentlich auf 2048 hinaus :roll:
(hatte ein mediamarkt pc, den ich gesehen hatte, der hatte auch 500GB Festplatte :wink:)


retnyg - Mo 06.06.05 14:29

also ich hab nur ein GB ram :P


F34r0fTh3D4rk - Mo 06.06.05 14:31

aso, ups :D ^^


Suckerbrot - Mo 06.06.05 14:54

@topic:
Naja, dann isses wohl gelaufen; aber auch net so schlimm. :)


F34r0fTh3D4rk - Mo 06.06.05 14:59

ich kenn die ursache nicht, eine wäre opengl generell (dglopengl32.pas) die andere wäre gr32.pas und oder die glbitmap.pas, woanders kanns net liegen :roll:


Delete - Mo 06.06.05 15:02

Also ich denke, so was sollte ohne OpenGÖl oder so was auskommen. :roll:


F34r0fTh3D4rk - Mo 06.06.05 15:03

zb wie ? OpenÖl 8)


Lossy eX - Mo 06.06.05 15:45

Also bei mir lief das Programm.

@Fear: Deine Renderschleife ist ein wenig unoptimal. Solche eine Anwendung sollte auf keinen Fall 100% der CPU in Anspruch nehmen. Es genügt, wenn du die Fläche immer dann neu zeichnest sobald sie neu gezeichnet werden muss. Also Repaint, eine Textur oder die Ansicht ändert sich. Speziell Notebook Besitzer werden es dir danken.

@Suckerbrot: Was besitzt du denn für eine Grafikkarte? Hast du neue oder die vorhandenen Texturen genommen? Ich befürchte dass aus ungeklärtem Grund die Texturen nicht richtig geladen werden konnten und sie deswegen weiß geblieben sind. Und dann ähnelt das Bild der ostfriesischen Staatsflacke. Weißer Adler auf weißem Grund! ;-)

Falls du die vorhandenen Texturen benutzt hast, dann bitte mal das glInfo [http://www.delphi3d.net/hardware/index.php] ziehen, starten und bei "Reports" -> "Save Report" und die Datei mal posten. Danke.

Solltest du eigene Texturen verwendet haben so kannst du abhilfe schaffen in dem du darauf achtest, dass die Texturgröße eine Potenz von zwei ist oder Fear es einbaut, dass nur 2^n zugelassen werdeb oder die Bilder automatisch angepasst werden. Also Texturen mit verschnitt. Auf das nur ein Ausschnitt verwedet wird.


F34r0fTh3D4rk - Mo 06.06.05 15:48

user profile iconLossy eX hat folgendes geschrieben:
Also bei mir lief das Programm.

@Fear: Deine Renderschleife ist ein wenig unoptimal. Solche eine Anwendung sollte auf keinen Fall 100% der CPU in Anspruch nehmen. Es genügt, wenn du die Fläche immer dann neu zeichnest sobald sie neu gezeichnet werden muss. Also Repaint, eine Textur oder die Ansicht ändert sich. Speziell Notebook Besitzer werden es dir danken.


aber das onidle kann ich nicht weglassen ? muss ich beim verschieben des formulars auch neu zeichnen oder wenn es von einem anderen überdeckt wurde etc, versteh nich ganz wie du das meinst, gib mal ein beispiel :?


Lossy eX - Mo 06.06.05 16:04

Also das mit OpenGL rendern kannst du dir wie mit GDI zeichen vorstellen. Du malst etwas auf ein Fenster und es bleibt so lange da bis es neu gezeichnet werden muss.

Ich denke mal dein Renderbereich ist ein Panel? Wenn nicht, dann sollte es eines werden. Dast TPanel unterstützt leider nicht alles notwendige. Aber ich habe da mal etwas vorbereitet [http://www.dev-center.de/sb/AdvancedPanel.zip]. Das Package installierst du und trägst es zu den Suchpfaden in Delphi ein. Dann kannst du es auf deinem Form platzieren.

Zum Initiallisieren von OpenGL verwendest du nun das Handle des Panels und alles weiter wie bisher. Das Application.OnIdle kannst du komplett vergessen. Dafür trägst du aber das Renden in das event OnRepaint des so eben instalierten Panels ein. Wenn du nun eine neue Textur geladen hast rufst du Repaint oder Refresh des Panels auf.

Wenn ein Fenster das Panel verdeckt und es wieder sichtbar wird so sollte es sich von alleine neu zeichnen. Das Panel unterstützt es außerdem noch, dass es einen Focus bekommen kann und es kann die Pfeiltasten verarbeiten. Dann kannst du deine Ansicht auch mit den Cursortasten verändern.


F34r0fTh3D4rk - Mo 06.06.05 16:06

habe n panel als handle :)


Lossy eX - Mo 06.06.05 16:18

Gut. Brauchs aber dennoch eine Ableitung von dem TPanel, da es leider kein OnPaint bietet. Und somit kannst du nicht drauf reagieren.


F34r0fTh3D4rk - Mo 06.06.05 16:22

ok zip datei um 1kb geschrumpft und Lossy Ex' Vorschlag implementiert :wink:


Suckerbrot - Di 07.06.05 15:29

So hier ist sie.
Achja: Ich habe eine NVIDIA Geforce FX 5200 mit 128MB RAM.


F34r0fTh3D4rk - Di 07.06.05 16:14

user profile iconSuckerbrot hat folgendes geschrieben:
So hier ist sie.


wer oder was ist sie ???


Lossy eX - Di 07.06.05 16:18

Ich frage mich gerade warum ich mir eigentlich immer wieder die Finger wund schreibe. Wahrscheinlich weil ich immer noch dem Trugschluss unterlegen bin, dass Menschen mit Problemen tatsächlich Hilfe haben wollen...

Verzeiht den Offtopicsarkasmus.

@suckerbrot: Selbe Frage wie oben. Hattest du die originalen Texturen verwendet?
[ ] Ja
[ ] Nein
[ ] Vielleicht


Suckerbrot - Di 07.06.05 17:23

Ich entschuldige mich sehr.
looooooooool!
Ich schreib hier was und muss natürlich den Anhang vergessen.
Naja hier ist der Report:


Lossy eX - Mi 08.06.05 08:36

Ja Danke. Deine Karte unterstützt keine "non power of two" Texturen. Sprich die Größe deiner Texturen (Höhe, Breite) muss eine Potenz von 2 sein. 1, 2, 4, 8, 16, 32, 64 usw. Da du aber immer noch nicht damit rausgerückt hast was für Texturen du nun verwendet hast gehe ich doch mal davon aus, dass du eigene verwendet hast. Und die entsprechen nicht den vorgegebenen Richtlinien. Ergo werden sie weiß dargestellt.

PS: Der Grund warum ich so hartnäckig bin ist der, dass der Texturenloader, den Fear verwendet, aus meiner Feder stammt und ich versuche die größtmögliche Kompatibilität zu erreichen. Und wenn eine Karte wie deine GF 5200 keine Texturen darstellt kann es entweder nur ein gravierendes Problem im Loader oder ein Benutzerfehler sein. Das Erste würde mir davon so gar nicht gefallen. ;-)


LH_Freak - Mi 08.06.05 12:28

@Lossy: Könntest du nicht eine Funktion einbauen, in der er eine normale Textur (also nicht 2^n) in soeine umwandelt und erst dann in den GraKa Speicher lädt.


Lossy eX - Mi 08.06.05 13:59

Das könnte ich durchaus machen. Aber da gibt es viele Unterschiedliche Algorithmen und das müsste per Hand aufgerufen werden. Weil automatisch werde ich so etwas nicht machen. Ich heiße ja nicht Glut. ;-) Wenn ich die Texturen in so einer Hinsicht verändern würde gehören mir zu Recht die Familienjuwelen abgeschnitten.

Abgesehen davon gibt es mehrere Wege die auch so funktionieren.

1. MipMaps (MipMapMode) auf Glut oder an stellen. Also, dass er auf die Glutfunktionen zum Übertragen der Texturen verwendet. Die passen die Texturen nämlich an. Ab einer gewissen version ist das nicht mehr Standard der Fall.

2. Ein alternatives TexturTarget verwenden. Also so etwas wie GL_TEXTURE_RECTANGLE_ARB [http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_rectangle.txt] oder GL_TEXTURE_RECTANGLE_EXT [http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_rectangle.txt] oder GL_TEXTURE_RECTANGLE_NV [http://oss.sgi.com/projects/ogl-sample/registry/NV/texture_rectangle.txt]. Die unterscheiden sich aber auch nur vom Namen. Die Kontstanten sind gleich. Aber man müss dann andere Texturkoordinaten angeben.

3. Wenn alle stricke reißen ein entsprechen größres (Power of two) Bild wo die echte Textur im Ursprung (0, 0) gezeichnet wurde. Oder man zerschneidet die Textur in mehrere Kleinere. Also der Phantasie sind keine Grenzen gesetzt.


F34r0fTh3D4rk - Mi 08.06.05 14:01

ähm, die werden alle in potenzen von 2 umgewandelt, daran kanns net liegen :idea: