Page 4 of 6 FirstFirst ... 23456 LastLast
Results 31 to 40 of 60

Thread: TBGL-3d-Editor [Announcement]

  1. #31
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    I found some bug because of Typos...

    to fix yourself check SpecificTools.tBasicU

    in two subs

    Sub TOOLS_ActionFace()
    Sub TOOLS_ActionTile()

    is a line
    lThisG = Group(Group_ACTIVE)
    
    This is wrong - after building in the Tabulate-setting I didn't test the other way of the functions
    both have to be
    lThisG = Group_ACTIVE
    
    find this near lines 578 & 718 (line numbers can differ a little)

    Edit: Already fixed in download since April 17th
    Last edited by ReneMiner; 17-04-2013 at 12:27.
    I think there are missing some Forum-sections as beta-testing and support

  2. #32
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    I uploaded new version.

    (This is same attachement as on first post)

    fixed the bug (see above) and added save to M15-Format.
    Console disabled - but can easily be enabled in MAIN-Unit again.

    A hook to this: Currently M15 only supports BMP/DIB and uncompressed TGA-files as a texture. Also material-data will get lost - but now can save vertex-colors (OBJ does not support these) and have a use of them vertex-colors also now. You have to take care what textures you use for yourself - maybe M15 will support other texture-formats in the future, so I won't limit this here and now. You always can exchange them with some texteditor inside M15-file.

    There might be some confusion because of the starting image- it has some transparent texture - if you draw something either start new image first or add a group with another texture - otherwise your first drawn triangle is transparent...

    Edit: Attachement removed - refer to first post for latest version
    Last edited by ReneMiner; 20-04-2013 at 15:01.
    I think there are missing some Forum-sections as beta-testing and support

  3. #33
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    It'll take a little time until I make a new upload - I've still a few things in mind. But I have no hurry with that.
    Let's take a break before we raise the bar again.

    Until then - the current file has to serve as a Beta -I think there's already some stuff within that shows that thinBasic is not a-work-in-progress interpreter but one that already offers a whole lot of things you won't believe on the first sight and still improves and is alive. All living things are growing - mostly. Sometimes just in wisdom because we have to stress our brains to find new solutions while resources are limited.

    And I'm happy about not knowing how the tb-sources look like. And I think not Eros is just making this to satisfy my feature-requests - Petr has to struggle too
    -just kidding - I think it all get's done when someone is in the mood to or has fun doing it. Otherwise the results would not be of interest to anybody.

    I'm straight Basic-user for all my life. OK, I tried stuff as java and c+#*whatever... this is not for my brains. I need clear, readable code and overview to get my thoughts realized.

    I'm not up to publish some full feature-list before it's all done anyway. There are no hidden features - all is documented within the help.
    The code is open - all plain thinBasic-code for everyone to check out how-to. I did my best to keep it as readable as plain text, so in 5 or 10 years I'll still be able to read it and understand what it does. It's supposed to be some tool to users who intend to create stuff for TBGL in an easy way to get 3d-stuff drawn and arranged for whatever they want to write in thinBasic+TBGL. So they have to get familiar with the stuff anyway.

    And I get the tool I need for my next project. And there's some "garbage left-over" already grown that's almost better than the intentional purpose of the program was - ok, the Gadget-stuff is not at beginner-level. But I made it that way because I wanted it to be nice for me and to try out new things. If you like it too- fine.

    If there are any questions as "How do I...?" - just ask them here - I guess these wonderful forum-thingamagickies are made for that purpose.
    Last edited by ReneMiner; 19-04-2013 at 21:00.
    I think there are missing some Forum-sections as beta-testing and support

  4. #34
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    57
    Posts
    8,777
    Rep Power
    10
    Here you can find the places where all NOT work-in-progress software lie:

    https://www.google.it/search?hl=it&q...=1918&bih=1019
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  5. #35
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    I think too- a (programming) language is living through the people who use it. And since always new inventions are made there are always new words and phrases needed. Otherwise the language is in an unchangeble state as seen in Eros' link to all those backup-libraries (see post above) or as latin.

    I did a few small changes to clipboard, so now you can use CTRL+A to select all at once - without need to use the selection-tool.
    And also some more functionality for placing clips. Now can jump to corners of displayed clips too so you can place them very precise now.
    I think that's very essential and makes a new upload reasonable. Watch it: If you jump to corners of the clip - the move-clip-with-pointer-setting (F3) will be toggled off -
    else that jump to corner of clip would not work

    Still on my list is some way to fast-load data later to TBGL - and also to load 3d-data by clicking in windows-explorer but first that bug has to be fixed to get it working.

    So to keep you supplied with the latest changes and to make sure this is not considered a death project...

    Edit: Attachement removed - refer to first post of this thread for the latest version
    Last edited by ReneMiner; 22-04-2013 at 13:22.
    I think there are missing some Forum-sections as beta-testing and support

  6. #36
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    Hi Rene,

    thanks for the update I think your application is good candidate for placing into Application forum.


    Petr
    Last edited by Petr Schreiber; 20-04-2013 at 16:40.
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  7. #37
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    I'll consider this when it's done, sure.
    In current stage - there are still a few things (see above) to do - I won't call it some finished program ready to put in a showcase.

    And - for the interested audience (3d-game-modding) that looks for some way how to get 3d-game-graphics as from Morrowind, Oblivion, Skyrim, FallOut3, Freedome Force, Civilization 4 and all the others that use Gamebryo/NetImmerseFormat into this TBGL-Editor and back to the game, you'll need NifSkope in addition to this.
    I think there are missing some Forum-sections as beta-testing and support

  8. #38
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    Hi Rene,

    I was thinking about the file format. The best way to me seems to create small dedicated module for each format. I offer my help, once we have clear idea what is needed.

    In case the number of model features in your program is complete, this could be done quite fast. I would then let the source code available, so it could be finetuned in future. I am tempted to use the new thinCORE OOP ability for some project, this could be it.


    Petr
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  9. #39
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    I think obj-format is very common - but has no vertex-color-support - m15 has a lot of already present features to TBGL - but no materials and limited texture-formats and the file-format I used in this editor is some pure editor-format - not for fast graphics but to calculate a lot with related vertices/faces etc. Keep selected faces in mind, camera+pointer-position- so this is just editor-format to work with.

    If a model is done - it should be stored to some format that can get loaded as fast as possible to appear on screen. It might use up some more time - when the model gets written from editor to file and that's ok to arrange it all optimized once. Important is the later use.

    So the raw gl-list in order would be the fastest way from that point. To avoid any "if/select Case etc." while loading the "header" should start with a vertex-format-information so the loader has to decide just once how to use the data. If no Texels- no texture to await, if VertexColors no Materialcolor to apply etc. Maybe can make some switch to call the loader in a way that it will calculate missing normals if desired. (this editor always supplies normals, but maybe someone else makes another)

    And to make this even faster, the file-extension should hold the vertex-format-information, there are only a few possiblities of combinations, a position has every vertex. There can be also normal, texels and colors - and that's about it. Vertex-Weights or -friction we don't have (yet) - but if there will be someday its easier to create new loading-routines instead of branching the existing apart.
    The groups (or layers as m15) should be done in order and not by any index. Like one would write a displaylist.

    I had already the idea to load displaylist-data in a way that read lines from a file immediately get processed as if they were codelines so there's no more if and sorting/CVx() and stuff needed - Eros says that might be possible, but he has to think about it.

    Faster I think will only be loading binary data block directly to entity - in a displaylist-order - but already creating necessary sub-entities from all following groups (return parent-entity of course) - so needs some common order to pass the data for Material/Texture/Appearance/Vertexdata - let's call that "Layers" again - or "Groups" or Sub-Entity. Appearance means like "%GL_Triangles", "%GL_TriangleStrip" etc.
    It could work the state-keeping way as displaylist and openGl in general, so pass once a normal or color instead of passing normal, color, texel before each position - but that would need some trailing word to each line as "TBGL_Vertex...", "TBGL_Normal..." and to parse these lines according to trailer - on the other hand can also be a trailer as "TBGL_NewLayer" so the loader "knows" - the current list ends and a new layers list starts here and the next entity is needed to be prepared and data that follows apllies to the next entity (which will always be a child of the very first one). So this kind of Entity (or better Super-Entity as you would call it in java) is only statics or parts that can get attached to bones later.
    Also (in thinking of the future) there should be a reserved layer for collision-shapes (has no "visible" faces in Entity, consists of one shape. It's faces have Vertex-Position always and/or Normals only. Positions for simple Inside-Collision, + normals for face-collisions in the future. So we might think of storing Collision-Type, Layer-Center and -Radius too. Maybe the unused material-properties of the collision-layer can hold "global"-Entity-Information as Friction, Bounciness and Weight for simple physics


    all my data to work with you'll find in the beginning of unit Specific3d.tBasicU,
    the triangles just oversee - they're not necessary, only these

    Dim Vec()  As t_Vec3d       : Dim nVecs As Long
    Dim Nml()  As t_Vec3d       : Dim nNmls As Long
    Dim Txl()  As t_Texel       : Dim nTxls As Long
    Dim Col()  As TBGL_TRGB     : Dim nCols As Long
    
    and partial these
    Dim Group() As t_MeshGroup  : Dim nGroups As Long
    ReDim Group(1) : nGroups = 1 ' lower bound is 1...
    
    partial because the current sessions values from t_MeshGroup are not needed in a mesh

    Also think about- I used all Doubles because of calculating - so my types as t_Vec3d/t_Texel are wrong type because not Single-Floats
    (the t_Object3dController was just some attempt to bundle all imaginable properties - but I think Entity-System already has all what's needed. I made it because I needed Double-Precise)

    so I guess there is some enumeration of vertex-components (as Position(0) - always present, Normals(1), Texels(2), Colors(4)) needed - and a constant $sString-Table that holds the file-extensions for all combinations so "how/what to load" is already decided when the filename is chosen.

    Another way would mean using some index-buffer which needs face-data in addition. Might need less memory-resources (does it really - doesn't have the screen to display the same amount of vertices with or without indexed vertices?) I like more the straight pass all in line instead of letting the computer jump from Index to Index - but however you create it, I think I'll get my data inside somehow

    Edit: Two important things to add here - my script uses thinBasicgl.inc - two switches that I think can be packed into some TBGL-state (or even become Entity-Defaults) so the thinBasicGl.inc is not needed.
    glEnable(%GL_CULL_FACE) ' stays enabled forever!
    glCullFace(%GL_BACK)  
    
    '... and (decides in Function CreateUserEntity() -TBGL-Specific)
    If VertexColorsPresent Then
        glColorMaterial ( %GL_FRONT, %GL_AMBIENT_AND_DIFFUSE )
        glEnable(%GL_COLOR_MATERIAL)
    Endif
    
    And btw. I use MATH-Module for one function only (ATAN2) - which could be asides the TBGL_EntityGetAngle- just integrated as TBGL_GetAngle...

    One more Edit:

    It might be an idea to create besides Light & Camera two additional special Entity-Types, as Terrain (wich does not need seperate collision-layer) and a "Water-Layer-Entity" which has no collision layer either - but has "fog" below surface - "Water" can also be like "Lava" or "Swamp", "Quicksand" etc. So "Water" is actually a box that has only faces on top. Should be possible to enable/disable/detect collision with top surface
    Last edited by ReneMiner; 22-04-2013 at 16:25.
    I think there are missing some Forum-sections as beta-testing and support

  10. #40
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    I found some bug (not a real one...but effect is, it does not "Save as..." TBGL3dEd-File if no fileextension is entered)

    to fix check
    Unit Gadgets.tBasicU

    Sub TypeInTextbox()

    around line 5104 you find
    '...
           Case %gFileSaveAs
                GADGET_Collapse(Gadget(Index).Parent)
                sFile = Gadget(%gExplorerInput).txt
                sType = FILE_PathSplit(sFile, %PATH_EXT)
                If LCase$(sType) = "obj" Or LCase$(sType) = "m15" Then
                  ' fine...
                ElseIf LCase$(sType) <> "tbgl3ded" Then 
                  sFile += ".TBGL3dEd" 
                EndIf     
     '...
    
    insert after ElseIf-Line this
             sType ="TBGL3dEd"
    
    so looks like this then:
           Case %gFileSaveAs
                GADGET_Collapse(Gadget(Index).Parent)
                sFile = Gadget(%gExplorerInput).txt
                sType = FILE_PathSplit(sFile, %PATH_EXT)
                If LCase$(sType) = "obj" Or LCase$(sType) = "m15" Then
                  ' fine...
                ElseIf LCase$(sType) <> "tbgl3ded" Then 
                  sType ="TBGL3dEd"
                  sFile += ".TBGL3dEd" 
                EndIf
    
    I guess I messed that up when I added save to m15, because it was working before...
    Last edited by ReneMiner; 21-04-2013 at 17:46.
    I think there are missing some Forum-sections as beta-testing and support

Page 4 of 6 FirstFirst ... 23456 LastLast

Similar Threads

  1. something that could become a 3d-editor
    By ReneMiner in forum TBGL Scripts and Projects
    Replies: 10
    Last Post: 02-03-2013, 18:25
  2. ThinAIR editor
    By RobertoBianchi in forum Announcements
    Replies: 2
    Last Post: 09-10-2008, 18:27
  3. What editor?
    By Michael Clease in forum Fixed or cleared errors in help material
    Replies: 7
    Last Post: 31-10-2007, 04:19
  4. Announcement: new slogan for thinBasic
    By ErosOlmi in forum Announcements
    Replies: 0
    Last Post: 19-09-2007, 07:04
  5. [IDE] SED Editor
    By José Roca in forum Power Basic
    Replies: 5
    Last Post: 23-07-2007, 20:07

Members who have read this thread: 4

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •