Jump to content

Josh

Staff
  • Posts

    24,629
  • Joined

  • Last visited

Everything posted by Josh

  1. Josh

    Freaky Friday

    You'll see the results of it in our promotional material for Leadwerks3D.
  2. Josh

    Freaky Friday

    Everyone's gone for the weekend, and I am still here, so it seems like a good time to stop and say hello to the community, who I have not been communicating with much lately. We spent some time this week doing some market research, and investigating exactly why Leadwerks is different and unique. After that I feel like I have a much better picture of the game industry as a whole, and of our strategy going forward. That's the "big picture" stuff we CEO's do. Meanwhile, back on the ground, I have code to write and a few outstanding bugs to correct for Leadwerks Engine. I've made progress and have very basic CSG editing working in the editor. I ran some performance tests with my new iPad 3, and the results are looking good. More on Monday about that. We're looking to recruit a few more interns in the Sacramento area. Anyways, this is less structured than most of my blogs, but I wanted to write something. How was your week?
  3. Hi guys, I recorded a video last night that has the potential to be very popular. It has to do with the iPad 3. I am planning to upload it Monday morning, around 7AM Pacific time. I would like to ask the community to help spread it around that morning so it can reach the maximum number of viewers and maybe go viral. Thanks in advance for your help, and if you can suggest any sites to post it on, that would help. It's a general-interest topic that isn't specific to Leadwerks.
  4. Change the word "solidclass" to "pointclass".
  5. Leadwerks does support X and JPG formats, but you've already decided.
  6. Brushes do not have an orientation, so I would not be surprised if that file caused a problem.
  7. To answer your question, having 2 of every forum was 2 much.
  8. You might try Smart Packer, it will compress all files into one EXE.
  9. Josh

    Brushing Up on CSG

    @fladrache, yes. @rick, maybe. The problem is if a model is rotated, so that its axes don't align to the world axes (even if they are swapped), scaling the model would result in a sheared matrix. Our math routines continually enforce an orthogonal matrix, to ensure that floating point errors don't add up over time and start skewing your entities.
  10. I feel like I've resolved the design challenges I was facing in my last blog. A menu item is always checked, specifying what the current object is that will be created when the user clicks on a viewport. There are two types of objects that can be created, brushes and entities. Brushes are constructive solid geometry objects that can be sketched out to quickly design a building. Entities are created at a point in space, and include lights, sounds, and particle emitters. As I have described it, this is pretty much identical to the 3D World Studio workflow. Models in the Asset Browser are another thing. This is where the Leadwerks3D editor is very different from 3D World Studio. Models can be dragged into the scene from the Asset Browser, in either the 3D or 2D viewports. In the 3D viewport, we will have position/rotation/scale control similar to that found in Leadwerks Editor, the editor for Leadwerks Engine 2. We will improve this with a button to toggle between global and local space. Since 3D World Studio has no 3D editing mode, this can be implemented without interfering with our powerful classic CSG workflow. I think the design I have laid out here will be simple enough to figure out without reading a manual, require the fewest number of mouse clicks possible, and most of all feel natural and fun to use, a quality that I think modern modeling applications have largely lost.
  11. Josh

    Another Design Puzzle

    Yes the API will be available and documented. Bear in mind this is pretty low-level stuff and is a little harder to use than the simple surface commands. It's not really meant to be something the end user needs, but I'm sure someone will come up with something cool from it.
  12. That seems odd. I would just keep SSAO off as it can be rather demanding.
  13. I have the basis of CSG editing written into the engine. It was a bit challenging to figure out just how to structure the Brush class. We have a lightweight ConvexHull entity, which is used for the camera frustum. This is an invisible volume that changes frequently, and is used to test whether objects intersect the camera's field of view. I didn't want to bloat this class with a lot of renderable surfaces, texture coordinates, vertex normals, etc. I initially thought I would derive the Brush class from the ConvexHull class, and make brushes a more complex renderable "thing" in the world. I didn't want to create multiple rendering pathways in the octree system, so it made sense to derive the Brush class from the Entity class, so all the entity rendering pathways could be used to tell whether a brush should be drawn. However, both the Entity and ConvexHull classes are derived from the base class in Leadwerks3D, the Object class. This creates the diamond inheritance problem, where there are two Objects a Brush is derived from: In the end, I derived the Brush class from the Entity class, and just gave it a ConvexHull for a member. This meets the needs of the system and is simple: class Brush : public Entity { ConvexHull* convexhull; ... }; So with that out of the way, it's on to editing. There are three types of objects you can create in the Leadwerks3D editor. You can drag a model into the scene from the asset browser. You can create and modify brushes like in 3D World Studio. You can also create special entities like lights, particle emitters, sound emitters, and other items. I'm ready to start CSG editing, but the thing that strikes me right away is I have no idea how object creation should work. You can drag models into the scene right now, from the Asset Browser. However, CSG brushes work better when they are drawn like architecture drafting: For "point entities" 3D World Studio lets you position a crosshair, then hit enter to create the current object: I'm not sure how we should handle brush and model editing in here. Usually when I run into a problem and am not sure how to proceed, I struggle with it a few days, but when I'm done, I am certain the approach I chose was best. Here's another one of those situations. Feel free to discuss and explore ideas with me in the comments below. Here's what the editor looks like at the moment: --Edit-- Here's something I am playing with. The "Objects" menu contains a lot of brushes and special entities you can create: This idea actually goes back to the old Quake 3 Arena editor, Radiant (which was otherwise a pretty difficult tool to use!): You would still be able to drag a model into the scene from the Asset Browser at any time, but the brush and entity creation would be more like 3D World Studio. Of course, we also want the ability to move, rotate, and scale things in the 3D viewport as well! I generally don't like having multiple ways to do a thing, but the editing choices here make good sense. I'll keep playing with ideas and see what I come up with. Feel free to chime in, in the comments below.
  14. I have no idea what any of that means. The engine.log file that appears when a Leadwerks application runs will be more useful.
  15. The model, and the active LOD mesh. Rendered entity = stepped through hierarchy and called its draw function, whether or not anything is actually rendered.
  16. Culling = determining what objects need to be rendered. Drawing = rendering them. Your numbers there look like you are trying to break the engine. 1.8 million polys before shadows? 10,000 entities? Really? We had 10,000 entities in the Zone concept scene, but they were distance culled.
  17. Texture resolution is probably the biggest bottleneck. Poly count doesn't actually matter that much, if you write the renderer right.
  18. Josh

    Project Manager

    VS2008 is the top priority since it runs on Windows XP with no extra downloads needed, and XP may account for as much as 40% of the market, depending on who's numbers you look at. VS2012 would be the next choice probably, depending on how many resources I have to devote to it.
  19. This is the vehicle code: Vehicle.bmx
  20. Josh

    Project Manager

    We can support Visual Studio and not CodeBlocks. We can't support CodeBlocks and not Visual Studio. People are already asking for VS2008, 2010, 2012, 32 and 64-bit builds. With debug and release, that equals 16 different builds, just for Windows.
  21. Josh

    Project Manager

    We use .zip format. :|
  22. Josh

    Project Manager

    When a new Leadwerks3D project is created, Leadwerks3D copies a Visual Studio project from a template, into a "Windows" subfolder in your project folder. It does the same for Xcode and Eclipse. All three IDE projects are set up to use the same C++ or C# source code. If you double-click the project name in the list, the project folder is opened in Windows Explorer (or Mac Finder) and you can open the Visual Studio project from there.
  23. Josh

    Project Manager

    The Project Manager lets you manage multiple Leadwerks projects. A project includes assets, scripts, code, code projects for Visual Studio, Xcode, and Eclipse, along with your game's executable. The Project Manager lets you view and switch between your different projects. Projects can be exported into a .zip file for easy sharing and archiving. You can even have Leadwerks3D scan all source code files and only include the asset files that your game actually uses. (I'm still adding the password field to encrypt them): You can import projects back from a .zip file: And of course you can create new projects, for any supported language, with multiple platforms supported by each: Here's my list of things I have either recently gotten done, or postponed for some reason: X -Window order(?) X -Convex cast app (postponed) X -Script execution X -Script SaveAs, SaveAll, New, Open, etc. X -Directional light destructor bug X -Occlusion query / octreenode bug X -Delete thumbnails when folder deleted, if in deleted folder X -Send files/folders to recycle bin instead of deleting X -Project import from zip passwords X -Project switching X -CRC32 zip password checks X -Improve project import events and process And still to go: -Add password export zip field -Animation -CSG Editing
×
×
  • Create New...