Jump to content
  • entries
    943
  • comments
    5,899
  • views
    923,760

Moving Right Along...


Josh

2,979 views

 Share

I'm happily starting out on the CSG editor. The first step is to add a grid in the orthographic view modes so that you have a frame of reference. In Leadwerks Engine, the editor used some callbacks to call OpenGL commands to draw the grid. In the new system, Leadwerks3D, I added some per-camera commands to control the grid spacing, resolution, and colors. (You may safely ignore the mysterious black cube in the center.) This way the editor never has to call OpenGL commands directly, making room for the possibility of other rendering APIs the engine can support in the future, like DirectX or software rendering.

blogentry-1-0-46126600-1328775559_thumb.jpg

 

One small little detail: In the Leadwerks Engine editor, the editor simply calls immediate draw calls (glVertex3f, etc.) to draw as many lines as are needed. In each orthographic viewport in the above screenshot, there are about 80 lines being drawn, which would require 80 draw calls. In Leadwerks3D, the engine creates a repeating patch and renders it as many times as needed, very similarly to how terrain is rendered in Leadwerks Engine. This reduces the number of draw calls in the above screenshot to about 24. Of course, instanced is always faster than non-instanced, and vertex buffers are much faster than immediate mode drawing, so this will increase the responsiveness Leadwerks3D over both the Leadwerks Engine editor and 3D World Studio.

 

The next step will be to add controls to navigate viewports. This includes free-look with the mouse in perspective mode, and panning and zooming in the orthographic views.

 

After that, I will start the actual code for drawing primitives, like 3D World Studio does. The functionality of 3D World Studio and Leadwerks Engine are being merged into Leadwerks3D. I miss the convenience of CSG editing. It allows non-artistic people like me to easily put together good looking buildings and interiors. It also makes it easy to establish a theme for a scene using sets of pre-made textures. And if nothing else, it's a convenient way to block out scenes for play testing, until the real art assets are finished.

 

You'll also notice I have switched my main development machine to Windows 7 for the last leg of this journey. We're on schedule for a summer release this year.

  • Upvote 3
 Share

9 Comments


Recommended Comments

It's also one feature I was initially against, but the community successfully convinced me to do it, and I think they were right.

Link to comment

ooohhh summer release hey... Goodness you almost gave me a heart attack. But I am all better now that I have remembered that I am in the southern hemisphere so your summer is my winter hence... much sooner than I first thought when I read that hehe.

 

Nice work btw.

Link to comment

Really nice. I think we will see nice CSG levels and its so usefull for blocking scenes (as long a you can export to .obj or another external format).

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...