Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Apr 29, 2024 08:30

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 103 Beiträge ]  Gehe zu Seite Vorherige  1 ... 3, 4, 5, 6, 7
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 05, 2008 18:27 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
btw: is there a way to prevent calculation of vertexnormals?

e.g. use only face normal?
ok facenormal only does make sense when there are just triangles used.

edit: ehm, may be i'm wrong, but does it really calculate vertex normals? as far as i understand the source code it seams it just calculates the face normals...

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 05, 2008 22:39 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
You may be right. It was an attempt at creating vertex normals that did not work out as intended.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 05, 2008 23:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
im trying to build a kind of tilebased game. i put some tiles into one 3ds file and access them through the mesh number. rendering works well.
tiles are arranged as desired.
tiles are nearly equivalent to cubes. means: same plane on upper side.
so in result some quads are rendered just side by side, giving a rectangular plane.
prob is now, that normals are totally messed when enlighted by standard opengl light.

i tried to comment calcvnormals() out, but i get an access violation o.O

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 27, 2008 17:00 
Offline
DGL Member

Registriert: Mo Aug 15, 2005 19:29
Beiträge: 38
hey noeska,

can you release an example program for your gl3ds v3.0 alpha?
So many files, I'm lost :? Shall I add every single file to the uses?


Greets

_________________
Mein aktuelles Projekt: *klick*


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 10, 2008 11:11 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Load and Init a 3d model

Code:
  1. scene1 := TglRender.Create(nil);
  2. scene1.AddModel();
  3. scene1.Models[0].LoadFromFile('models\hog2.txt');
  4. scene1.Models[0].TexturePath:='textures';
  5. scene1.UpdateTextures;


Render the model
Code:
  1. Scene1.AdvanceAnimation;
  2. Scene1.Models[0].Render;


For uses only include those you need:
Code:
  1. glRender,
  2. Model,
  3. ModelMsa;

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 19, 2009 23:19 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@glModel (Nameswitch):
Ich verstehe deine Idee, hinter der Namensänderung. Allerdings ist das schon ein ganz schon schwerer Schnitt, schließlich kann man "gl3ds" schon fast als Markenname sehen. Du solltest den neuen Namen sehr gut promoten, und darauf hinweisen, dass der Loader bereits seit 2003(?) gepflegt wird.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 23, 2009 11:33 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Du solltest vielleicht schreiben "glModel (earlier gl3ds)", sodass die leute das Produkt wiedererkennen.

Aber: Weiter so. Ein umfangreicher, flexibler Modelloader für verschiedene Formate hat natürlich was.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 23, 2009 16:27 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Lord: Oder so: TLFKAgl3DS (The Loader formely known as gl3DS)

frei nach T.A.F.K.A.P.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 23, 2009 17:23 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Hm, ich hätte jetzt eher an den Garfield 2-Film gedacht ;)

Aber lassen wir das...

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 04, 2009 20:13 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
To add more to the identity crysis :-) ...

It is also possible to create meshes from scratch (if you know what you are doing)
Code:
  1.  
  2.   //dynamic mesh creation example ...
  3.   scene1.AddModel; //new model
  4.   scene1.Models[1].AddMesh; //new mesh
  5.   scene1.Models[1].AddMaterial;  //new material
  6.   scene1.Models[1].Material[0].DiffuseRed:= 1.0; //make it red
  7.   scene1.Models[1].Material[0].DiffuseBlue:= 0.0;
  8.   scene1.Models[1].Material[0].DiffuseGreen:= 0.0;
  9.   scene1.Models[1].Material[0].AmbientRed:= 0.5; //make it red
  10.   scene1.Models[1].Material[0].IsAmbient:=true;
  11.   scene1.Models[1].Material[0].Name:='RedMat';
  12.  
  13.   scene1.Models[1].Mesh[0].NumVertex := 8; //number of vertexes
  14.   v1.x := -1.0;
  15.   v1.y := -1.0;
  16.   v1.z := -1.0;
  17.   scene1.Models[1].Mesh[0].Vertex[0]:=v1;
  18.   v1.x := -1.0;
  19.   v1.y := -1.0;
  20.   v1.z := 1.0;
  21.   scene1.Models[1].Mesh[0].Vertex[1]:=v1;
  22.   v1.x := -1.0;
  23.   v1.y := 1.0;
  24.   v1.z := -1.0;
  25.   scene1.Models[1].Mesh[0].Vertex[2]:=v1;
  26.   v1.x := -1.0;
  27.   v1.y := 1.0;
  28.   v1.z := 1.0;
  29.   scene1.Models[1].Mesh[0].Vertex[3]:=v1;
  30.   v1.x := 1.0;
  31.   v1.y := -1.0;
  32.   v1.z := -1.0;
  33.   scene1.Models[1].Mesh[0].Vertex[4]:=v1;
  34.   v1.x := 1.0;
  35.   v1.y := -1.0;
  36.   v1.z := 1.0;
  37.   scene1.Models[1].Mesh[0].Vertex[5]:=v1;
  38.   v1.x := 1.0;
  39.   v1.y := 1.0;
  40.   v1.z := -1.0;
  41.   scene1.Models[1].Mesh[0].Vertex[6]:=v1;
  42.   v1.x := 1.0;
  43.   v1.y := 1.0;
  44.   v1.z := 1.0;
  45.   scene1.Models[1].Mesh[0].Vertex[7]:=v1;
  46.  
  47.   scene1.Models[1].Mesh[0].NumVertexIndices := 36; //number of vertex indices
  48.   scene1.Models[1].Mesh[0].Face[0]:=0;
  49.   scene1.Models[1].Mesh[0].Face[1]:=2;
  50.   scene1.Models[1].Mesh[0].Face[2]:=4;
  51.  
  52.   scene1.Models[1].Mesh[0].Face[3]:=4;
  53.   scene1.Models[1].Mesh[0].Face[4]:=2;
  54.   scene1.Models[1].Mesh[0].Face[5]:=6;
  55.  
  56.   scene1.Models[1].Mesh[0].Face[6]:=0;
  57.   scene1.Models[1].Mesh[0].Face[7]:=4;
  58.   scene1.Models[1].Mesh[0].Face[8]:=1;
  59.  
  60.   scene1.Models[1].Mesh[0].Face[9]:=1;
  61.   scene1.Models[1].Mesh[0].Face[10]:=4;
  62.   scene1.Models[1].Mesh[0].Face[11]:=5;
  63.  
  64.   scene1.Models[1].Mesh[0].Face[12]:=0;
  65.   scene1.Models[1].Mesh[0].Face[13]:=1;
  66.   scene1.Models[1].Mesh[0].Face[14]:=2;
  67.  
  68.   scene1.Models[1].Mesh[0].Face[15]:=2;
  69.   scene1.Models[1].Mesh[0].Face[16]:=1;
  70.   scene1.Models[1].Mesh[0].Face[17]:=3;
  71.  
  72.   scene1.Models[1].Mesh[0].Face[18]:=4;
  73.   scene1.Models[1].Mesh[0].Face[19]:=6;
  74.   scene1.Models[1].Mesh[0].Face[20]:=5;
  75.  
  76.   scene1.Models[1].Mesh[0].Face[21]:=5;
  77.   scene1.Models[1].Mesh[0].Face[22]:=6;
  78.   scene1.Models[1].Mesh[0].Face[23]:=7;
  79.  
  80.   scene1.Models[1].Mesh[0].Face[24]:=2;
  81.   scene1.Models[1].Mesh[0].Face[25]:=3;
  82.   scene1.Models[1].Mesh[0].Face[26]:=6;
  83.  
  84.   scene1.Models[1].Mesh[0].Face[27]:=6;
  85.   scene1.Models[1].Mesh[0].Face[28]:=3;
  86.   scene1.Models[1].Mesh[0].Face[29]:=7;
  87.  
  88.   scene1.Models[1].Mesh[0].Face[30]:=1;
  89.   scene1.Models[1].Mesh[0].Face[31]:=5;
  90.   scene1.Models[1].Mesh[0].Face[32]:=3;
  91.  
  92.   scene1.Models[1].Mesh[0].Face[33]:=3;
  93.   scene1.Models[1].Mesh[0].Face[34]:=5;
  94.   scene1.Models[1].Mesh[0].Face[35]:=7;
  95.  
  96.   //apply material
  97.   scene1.Models[1].Mesh[0].MatName[0]:=scene1.Models[1].Material[0].Name;
  98.   scene1.Models[1].Mesh[0].MatID[0]:=0;
  99.  
  100.   //add calculated normals ...
  101.   scene1.Models[1].Mesh[0].NumNormals:=12; //for each face indices div 3
  102.   scene1.Models[1].Mesh[0].NumNormalIndices:=36;
  103.   scene1.Models[1].CalcVnormals;
  104.  
  105.   //add fake texture coords
  106.   scene1.Models[1].Mesh[0].NumMappings:=1;
  107.   scene1.Models[1].Mesh[0].NumMappingIndices:=36;
  108.   map.tu:=0;
  109.   map.tv:=0;
  110.   scene1.Models[1].Mesh[0].Mapping[0]:=map;
  111.   for tel:=0 to 35 do
  112.   begin
  113.     scene1.Models[1].Mesh[0].Map[tel]:=0;
  114.   end;
  115.  
  116.   //make mesh visible
  117.   scene1.Models[1].Mesh[0].Visible:=true;
  118.  
  119.   //calculate size for bounding box
  120.   scene1.Models[1].CalculateSize;
  121.  
  122.   //determine render order even with one mesh
  123.   scene1.Models[1].CalculateRenderOrder;
  124.  
  125.   //save test
  126.   scene1.Models[1].SaveToFile('test.obj');
  127.  


Now this should be more 'programmer' friendly. So feedback is appreciated.

nb: the scene1.Model[1] is one because it is the second model in my test application.

Also normals calculation is once again in a rewrite cycle so you could expect a new release of glModel after some more testing. The new calculation method breaks current loaders that use it.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 11, 2009 21:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Sep 19, 2007 21:36
Beiträge: 46
i actually appreciate to hear that .. the normals are calculated quite strangely in some spots in my current project and i hope that might change after a rewrite .. but at all .. good thing ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 24, 2009 10:59 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Okt 23, 2009 12:22
Beiträge: 26
Programmiersprache: Delphi(, C++)
If I load a 3ds like this I can't see anything of it:
Code:
  1.  
  2.   //Init
  3.   scene1 := TglRender.Create(nil);
  4.   scene1.AddModel();
  5.   scene1.Models[0].LoadFromFile(extractfilepath(paramstr(0))+'spaceship.3ds');
  6.   scene1.Models[0].TexturePath:=extractfilepath(paramstr(0));
  7.   scene1.UpdateTextures;
  8.   ...
  9.   //Render
  10.   //GlTranslatef(...);
  11.   Scene1.AdvanceAnimation;
  12.   Scene1.Models[0].Render;
  13.   Scene1.Render;
  14.  


But with
Code:
  1.  
  2.   model := TAll3dsMesh.Create(nil);
  3.   model.TexturePath := extractfilepath(paramstr(0));
  4.   model.LoadFromFile(extractfilepath(paramstr(0))+'spaceship.3ds');
  5.  ...
  6.   model.Render
  7.  

it nearly works. I can see my meshes but they're all green (I did not use textures, I only changed the materials).
What do I wrong?

Edit: I noticed that my spaceship gets the color that I set with glcolor3f in a for-loop between another glpushmatrix and glpopmatrix... . If I don't set that color, everything is white.

OK, this problem ist solved now (disabled gl_color_material), but if I now load a 3ds with texture, I get this error message: "TglBitmap.LoadFromStream - Couldn't load Stream. It's possible to be an unknow Streamtype."
I get this both with bmps and jpgs.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Jan 03, 2010 17:29 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
There is new release for glmodel. Now it is at version 3.5a bringing a new vbo render target.
You can get i from svn or download it as an zip file from: http://www.noeska.net/downloads/glModel-3.5.0a.zip .

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 103 Beiträge ]  Gehe zu Seite Vorherige  1 ... 3, 4, 5, 6, 7
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.064s | 16 Queries | GZIP : On ]