This readme file describes improvements and bug fixes in version 9 SDK.
Support for Apple's Mac OS X operating system dropped.
Realsoft 3D™ implementation was based on
Apple's C++ Carbon API, which is now largely deprecated and no
longer works. Rewrite project to Objective-C/Cocoa has been started,
but the project is still at an early stage.
Solaris 8 operating system is deprecated by Oracle. All the Solaris 8 specific materials were updated for this release and building software for Solaris 8 still work fine. Realsoft 3D Version 9 for Solaris 8 is available as a beta release.
Silicon Graphics IRIX operating system is no longer supported. We
still have one O2 system alive but it is getting
old, and used for building in-house releases for sentimental reasons only.
Realsoft 3D ™ SDK packages ship with 64 bit binaries only. Binaries for 32 bit application can be provided on request.
Realsoft Graphics Oy™ SDK versions prior V9 used
r3cc precompiler to translate
Realsoft-C™ source code
to standard 'C'. In V9 there is now an option to use
pure 'C' and avoid the r3cc precompilation phase.
For this to work set the following makefile directive:
V4API64=yes
and use R3TagGetS() together with
R3T() instead of R3TagGet():
Table 2.1.
| New Realsoft-C API | Old API with precompilation |
|---|---|
R3TagGetS(tags,
R3ST(R3WGA_Parent, &window),
R3ST(R3GA_Text, &text),
...
R3TAG_END);
|
R3TagGet(tags,
R3WGA_Parent, &window,
R3GA_Text, &text,
...
R3TAG_END);
|
For all other functions accepting tag lists, such as R3SetAttrs() use the following
calling convention:
Table 2.2.
| New Realsoft-C API | Old API with precompilation |
|---|---|
R3SetAttrs(object,
R3T(R3WGA_Parent, window),
R3T(R3GA_Text, text),
...
R3TAG_END);
|
R3SetAttrs(object,
R3WGA_Parent, window,
R3GA_Text, text,
...
R3TAG_END);
|
Note that you can use r3cc to upgrade your
source code for V8 API. To accomplish this:
Enter the following command:
r3cc -upgrade foo.c
Add the following line into the corresponding makefile:
V4API64=yes
Realsoft 3D version 9 'C' API should be 100% backward compatible and code that compile with the previous version should compile with V9 without any changes.
ABI (application binary interface) should be nearly backward compatible and most most plugins built two decades ago should load and run fine. Those that do not work are based on third party software that we don't have control over.
There is a new predefined makefile $(V4MKDIR)
simplifying building hierarchical projects. The makefile accepts
three new directives: PREMAKES, SUBDIRS and POSTMAKES.
PREMAKES=myprepare.mak SUBDIRS=mysubdir1 mysubdir2 POSTMAKES=mybuild.mak !include $(V4HOME)/$(V4MKDIR).mak
Realsoft 3D™ V9 supports SVG
icons, which don't have native size the layout managers could use
to do their job. The default icon sizes must therefore be specified
in icon specific makefiles using V4ICONWIDTH/HEIGHT and V4ICONHEIGHT/HEIGHT
macros. The values defined in the makefile correspond to the default DPI 96.
![]() |
Note |
|---|---|
If you write plugins to Realsoft Graphics Oy software then specify icon sizes through V4TOOLICONWIDTH/HEIGHT and V4CLASSICONWIDTH/HEIGHT macros instead of hard coding them. For example, the makefile for building icons to tool buttons should define icon sizes as follows: |
V4ICONWIDTH = $(V4TOOLICONWIDTH) V4ICONHEIGHT = $(V4TOOLICONHEIGHT)
for consistency between all the Realsoft Graphics Oy and 3rd party tools.
As Realsoft 3D™ API is pure 'C' API it is compiler independent and should work with any 'C' compiler.
The that the kernel library r3oops.dll
depends on Microsoft's Visual Studio C++ runtime libraries.