It Moved

Lightning being animated and rendered within Noesis. A lot of things have happened since I updated the actual web site here. I moved, got a new job, got married, and worked on a lot of things. I've worked on a couple of titles on the 3DS and Vita now too.

I've been wanting to work on a lot of projects in my personal time lately, but I can't seem to pull myself away from Noesis for more than a few weeks at a time. So that's what I've spent most of my spare time and energy on over the last year and a half. I've really been wanting to move over to working on a Jedi Knight 2/Jedi Academy codebase, though, and am hoping to finally get started on that soon.

On that note, yeah, the JK2/JA source was finally released under GPL after the effective death of LucasArts. Briefly. I couldn't believe it. There are still cool people lurking at Raven that haven't had their souls carved out. But it would seem as though some asshole(s) at some company (who knows which, given how many have their fingers in some part of the pie there) got their panties in a bundle, because the code was mysteriously pulled shortly after being put up on SourceForge. I don't know what actually transpired, but it's typical for someone in that structure of corporate suffocation to try to do something good only to have a finger or two chopped off for their effort. At least the code is out in the wild now, though, and I'm going to do something with it at some point.

Back on the topic of Noesis, it's had a lot of updates. I finally got around to making a workable material rendering system on the NoeGL side of things, which led to more material rendering features with stuff like environment maps, specialized skin and hair shaders, and a lot more random junk. It still leaves a lot to be desired, and ultimately I'd like to have a Noesis shading language that's supplied as part of the format/tool/etc. script/plugin and interpreted as needed in the native rendering module/content exporter. The amount of work for that to happen hasn't been justified yet, though, since the people writing Noesis scripts out there have barely begun to use the full functionality of the material system. chrrox finally had an excuse to use material expressions the other day, I'm pretty sure he was the first person to do it. Myself included. (although I did use it once in a native plugin)

A character from Vanquish making use of new Noesis material features.
A character from Vanquish making use of new Noesis material features.

I also added a whole set of functions and data types for various types of splines and keyframed animation. The spline stuff hasn't gotten a lot of use that I know of, although there's a tool script up on the official repository that generates giant cubic environment mapped mesh letters by evaluating a built-in spline font.

Fang, also making use of new Noesis material features.
Fang, also making use of new Noesis material features.

I've really added too much crap to Noesis to go into real detail here without spending 5 hours writing a giant badly-organized wall of text, so here's a bullet list of some of my favorite features that have been added since I last updated.
  • FF12 model and animation support. The animation ended up happening in two parts, and was finally completed very recently when I went back and figured out the rest of the channel format.
  • Keyframed animation support, as mentioned above. You can feed keyframed animations to Noesis directly, or feed them to a variety of processing/combiner functions.
  • Dozens of new material properties.
  • A new semi-maintainable fragment/vertex program pipeline. The thing that generates programs is actually a Noesis plugin itself.
  • Completely overhauled the NJCM loader, making it much more stable and capable of handling pretty much any NJCM out there. Also added support for NMDM animations.
  • Redid large parts of the GMO loader to make it suck a lot less, and moved it over to the newer RPGeo interface.
  • Added a pixel picker, enabled in the data viewer under Persistent settings->View. This is a bit of a hidden feature that no one really knows about, but it's extremely useful for looking at DXT data because it shows you the raw block data and the interpreted pixel color concurrently.
  • Exposed Python API functions for unpacking PS2 VIFcode, and decoding PSP vertex flags. Much faster than trying to do either of these commonly-necessary (for those platforms) things in actual Python, and makes scripts much more readable.
  • Support for pretty much every 3D format (models, animations, levels) used in Jedi Knight and Mysteries of the Sith.
  • As usual, support for dozens of other new game model/texture/animation/etc. formats.
The official Noesis repository also recently exceeded 150 scripts, after finale00 finally committed his rather large body of work.

I'd also really like to start a Noesis documentation project at some point. It's very desperately needed. I've spent many hours helping chrrox figure out how to do stuff in private conversations, and it would probably be a good idea to translate my many braindumps into some sort of workable documentation with example usages. Noesis has gotten large enough that fully documenting it would probably end up being something like a solid 1-2 weeks worth of man hours.

Well, I guess that covers everything I feel like talking about. I'll continue to update my Twitter account whenever I do something that I feel is worth mentioning.


38 comments in total.
Post a comment


Cherry RCH

March 12, 2014 at 12:10 am (CST)
Hey Rich, and wanted to display 3d models of a game that I like is "Saint Seiya Online" if you can put the plugin for "Noesis 3D" In order to view all 3d models are in SKI format please I appreciate . :) :)



March 6, 2014 at 1:29 pm (CST)
Sorry about the long response.

Anyway, I realized it's a false alarm, I screwed something up with the object text file. So it was my fault. There wasn't a closed bracket somewhere before that part in the file.


Rich Whitehouse

February 22, 2014 at 12:54 am (CST)
It's not broken, as you will notice in this case that the formats for those streams are 4 and 7, which means int and float. If the IQM implementation is expecting a fixed format without accounting for others, the implementation is broken.



February 22, 2014 at 10:42 am (CST)
hello. is it possible that IQM exporting is broken in current noesis build? i tried to convert a few models into IQM and the blendindices[4] were integers and blendweights[4] were floats (both should be uchar's). Thanks in advance and keep up the good work :D


Rich Whitehouse

February 16, 2014 at 12:33 am (CST)
It seems to still be working on my machine, although it's a feature that hasn't actually been used since Dixerius. Nothing should have changed with it, the only funny thing about it is that it does a glReadPixels on a single pixel (which is nasty) to see if the flare is occluded. Does it still work for you if you go back to an old version, or is it possible a driver update or something broke it for you GL implementation side? What kind of hardware are you running on?



February 12, 2014 at 8:59 pm (CST)
So far the new code and engine works like a charm. But I HAVE noticed one feature that seems to be broken.

I haven't noticed any others, but the renderfx for the lens flare doesn't seem to work anymore. (renderfx 8 according to obj_dynamiclight_flare).

I don't know whether you had plans to fix anything with the engine or not, but I thought I'd at least bring this to your attention.


Johnny Jenk3ns

February 3, 2014 at 8:16 pm (CST)
Hello again.

Just tried your method on cleaning everything and re-install the packs and it did the magic! My Noesis are able to read the plugins from the Plugins folder and can now view KH2 and KHBBS model! I sincerely thank you for your help! :-D

~ Johnny


Rich Whitehouse

February 3, 2014 at 7:59 pm (CST)
If you're running Win64 then it's not going use the libs in system32, it's going to use the ones in SysWOW64. (which is probably the opposite of what you would expect based on the naming)

You most likely don't have the 2005 runtime distributable installed or there is a problem with your runtime dependencies. If the latter, clean everything off of your system including all of your MSVC runtime distributions and try again.


Johnny Jenk3ns

February 3, 2014 at 12:13 am (CST)
Also, just a quick check on Noesis; I tried using other plugins besides KH2 and KHBBS (this time I try using CryEngine plugin) and it gives the same error as well after performing a scan on the plugin using Dependency Walker.

I have no idea on how to fix this myself as my knowledge for computer is not much as I have. I have installed MS Visual C++ 2005, 2008 and 2010. I've checked the DLLs in WINDOWS/system32 and they're working fine. If there's only way to fix this, I would gladly appreciate for your help.


Johnny Jenk3ns

February 2, 2014 at 8:27 pm (CST)
Thanks for the reply.

The Plugins that I installed was KH2 and KHBBS from this website:-

Also, I tried scanning it using Dependency Walker like you told me and I received atleast 2 error messages; the Side-by-Side configuration info and one or forwarded dependency wasn't found.

However, from what I heard from people in Xentax, it works for most of them without scanning the DLLs. I was wondering if I did something wrong or if there's any additional DLL I should install.

Comment Pages:
Previous ... 1 [2] 3 4 5 6 ... Next

Post a comment


Enter the following (refresh if you can't read it):
Read image


2872703 page hits since February 11, 2009.

Site design and contents (c) 2009 Rich Whitehouse. Except those contents which happen to be images or screenshots containing shit that is (c) someone/something else entirely. That shit isn't really mine. Fair use though! FAIR USE!
All works on this web site are the result of my own personal efforts, and are not in any way supported by any given company. You alone are responsible for any damages which you may incur as a result of this web site or files related to this web site.