Integrated my curves editor into the existing in-game UI. Now the hard part is not using curves for everything under the sun. I'm not sure if I want to make a dopesheet et al too as I'm not remaking blender. Basically for the in-game editing you can click a 'button' to pop open the curve editor for a given curve. This is also controllable from Lua script and remote HTML / telnet sessions into the game of course. I'll refine the prototype a bit more with wrapping modes, better UX, et al.
Saturday, January 23, 2016
Thursday, January 21, 2016
Everything is better with splines.
Everyone knows I prefer to have my UI in a browser, but I couldn't help myself and started making an in-game viewport spline editor for you kids on laptops. Not much yet, but I'm tempted to make a full widget set to replace TwAnt. I'm currently doing batching for all 2d lines, and of course I do width adjustments by their normals for visibility. You could make fancy AA/feathered lines with more primitives, but this is fine for my current uses. Always remember LINES primitive has shitty support on AMD, and it looks bad anyway so spare a quad or a couple triangles and do it right.
Playing around with some prototypes in screenshot below:
Greatly improved from earlier today after adding a windowing canvas:
Thursday, January 14, 2016
Import your 3d models into blender from file manager or terminal.
# Simple script to import models from the command line or via "default application". # # 1. Copy the next line into something like blender-import.sh # /path/to/blender --python /path/to/blender-import.py -- $1 # # 2. Set as your "default application" to open 3ds, fbx, and obj files. # a. Right-click on filename.fbx # b. Open With > Other Application... # c. Browse to the blender-import.sh in the dialog that pops-up. ( Click folder icon. ) # d. Click "Set as Default" # # 2016.01, thendrix # # https://www.blender.org/api/blender_python_api_2_76b_release/bpy.ops.import_scene.html # import bpy, sys if sys.argv[-1].lower().endswith( ".3ds" ): bpy.ops.import_scene.autodesk_3ds(filepath=sys.argv[-1]) elif sys.argv[-1].lower().endswith( ".fbx" ): bpy.ops.import_scene.fbx(filepath=sys.argv[-1]) elif sys.argv[-1].lower().endswith( ".obj" ): bpy.ops.import_scene.obj(filepath=sys.argv[-1])
Fun continues
Got ye olde particle system back up this week, and while laying the groundwork for a new animation system finally looking into "real" curve editors to drive animations of all types. Here's some screenshots of a material testing as I reworked a few materials and shaders in-between the engine updates.
Since I'm still not doing a real-time probe you can see artifacts from the fallback "skylight", such as the bright blue reflection in the eyes here.
Since I'm still not doing a real-time probe you can see artifacts from the fallback "skylight", such as the bright blue reflection in the eyes here.
Friday, January 8, 2016
Ambient Occlusion Test
Hooked up AO for the test character I barrowed, and fixed a few material issues. Visualization of AO affecting the fallback skylight on the left, and AO off on the right. The final image is with AO on both sides. I like to do a lot of material testing with a simple directional light shader like this as I can reload shaders via the HTTP interface in my engine, and it will back prop changes to materials as needed as well. Fast iteration!
Here's the in-game G-Buffer visualization, and note I only clear parts of my MRT as I stencil out non-deffered in the geometry pass. That's why you see the wavey lines on some visualizations.
AO visualization, left: on, right: off
left: on, right: off
Normal AO on
Here's the in-game G-Buffer visualization, and note I only clear parts of my MRT as I stencil out non-deffered in the geometry pass. That's why you see the wavey lines on some visualizations.
Wednesday, January 6, 2016
FBX support almost finished
Migrating away from md5mesh to FBX, since that's the standard as far as content folks are concerned. Loaded up some models from the Unity 3d asset store, so I can compare lighting! Just had to hook up the textures in my JSON based materials. It really shows how much I need to implement IBL and reflection comparing output. I've been thinking about copying the Witcher 3 idea of a simple low-resolution cubemap camera that is indoor/outdoor aware for a fully dynamic probe as all my stuff is randomly generated you can't bake it unless you save seeds.
Working on procedural animation and an all new animation state system currently, so no pretty lighting for a while. Just using a simple 'skylight' hack in the meantime. BTW the FbxSdk for Linux works pretty well, which is nice as I didn't have to make a reverse engineered importer just for this.
Note all these are using faked IBL without AO and no shadows to see the difference better. I'm not saying the implementations are 100% either. :D
Here's what it looks like with a Beckman Specular BRDF, and minor GBuffer shader tweaks -- similar to the Order 1886:
Burley aka "Disney" -- similar to UE4:
"Kagura Default" which is a GGX + Normalized Oren-Nayar -- similar to Deep-Down reveal:
Beckman + Oren-Nayar vs GGX + Oren-Nayar with paused camera ( for use with photoshop )
Working on procedural animation and an all new animation state system currently, so no pretty lighting for a while. Just using a simple 'skylight' hack in the meantime. BTW the FbxSdk for Linux works pretty well, which is nice as I didn't have to make a reverse engineered importer just for this.
Note all these are using faked IBL without AO and no shadows to see the difference better. I'm not saying the implementations are 100% either. :D
Here's what it looks like with a Beckman Specular BRDF, and minor GBuffer shader tweaks -- similar to the Order 1886:
Burley aka "Disney" -- similar to UE4:
"Kagura Default" which is a GGX + Normalized Oren-Nayar -- similar to Deep-Down reveal:
Beckman + Oren-Nayar vs GGX + Oren-Nayar with paused camera ( for use with photoshop )
Saturday, January 2, 2016
Nah... let's fix bugs first.
Update, fixed some materials on the horse after some more lighting work... of course:
It helps when more systems match the same coord system and lighting direction...
I can see my house from here... if you look close you can see a 3px tall horse...
He looks like this...
Subscribe to:
Posts (Atom)
























