- Thu Feb 05, 2009 4:48 am
#290993
This is a much better explanation of what CORE is. Was posted by Julez4001 on the CG Society forum.
Unification
Since the very beginning, LightWave has always been a two-headed application; one application for modeling, and a separate application for animation, shading, lighting and rendering. This is no longer the case, as LightWave CORE™ offers a unified environment. CORE™ does not distinguish between modeling, rendering, lighting and so on. Instead, LightWave CORE™ allows anything to be animated in any number of ways; keyframed animation, of course; procedural animation via scripts, expressions and so on; dynamically, in the form of a unified simulation environment. In short, anything can be driven by anything else: a water simulation could drive cloth or hair, for example, or anything else for that matter. Everything has access to everything else.
The capabilities of the LightWave CORE™ can be presented to users in a variety of different methods: in a survey of the user-base, it was clear that the split for a separate modeler vs. integrated modeler was 50/50. In the end, there was really no need to force a choice, as the environment will present these functions as desired by the user. Want to use LightWave CORE™ as just a modeler? Fine. Want to integrate modeling functions with animation? That’s fine, too. Users can decide how they would like there experience by a simple user preference setting – a dynamic setting that can be changed at any time.
----
Industry-standard file formats
The original LightWave object format, LWO, has gone through several revisions throughout its history. It is a popular format, and many assets exist in this format. Therefore, LWO is a fully-supported format within LightWave CORE™ , but it is not the default format (unless the user decides otherwise.) COLLADA is the basis format of LightWave CORE™ , with extensions added by the NewTek engineering team. In addition, FBX and other popular formats will enjoy broader support than in previous versions of LightWave, due in part to the flexibility of CORE™ vs. the classic architecture. In classic LightWave, evaluation orders are effectively fixed; this makes importing COLLADA and FBX files from other applications difficult at times, especially if rotation orders have been rearranged. The same would hold true for deformation evaluation order.
LightWave CORE™ has complete flexibility in evaluation order of any system. This will better facilitate data interchange with other applications in the pipeline. Rotation order, deformation order, etc., are completely under user control, offering the most versatility for problem solving.
---
Full LightWave CORE™ access for Python, via SWIG
In addition to full access via C++ and the SDK, internally-implemented languages have the same full access. Discussions for which language to support were lively during the design phase of LightWave CORE™ : several floated to the top, but Python held the most weight, especially when weighed against our industry-standard directive. That said, there are several legitimate languages which could have been included in addition. This posed quite a quandary, until the development group determined that we could implement internal languages via SWIG bindings. At the time of this writing, there are approximately 25 popular languages that have SWIG bindings, and can thus be implemented within the LightWave CORE™ SDK. Implementation does require engineering, but because of the SDK, this can easily be done by third parties. For example, Lua is popular in the game development community; via the LightWave CORE™ SDK, a game company could implement Lua into the LightWave CORE™ via SWIG. Once implemented, Lua would have the same complete access as Python, or any other implemented language.
Embedded Command-line and text editor
Given the support for SWIG languages, it makes sense to have components that allow users to leverage these languages within the environment. A built-in, context sensitive text editor and command line are available. The command line supports auto–complete, making inputting commands or writing scripts even easier.