|
Q: I have recently installed
Vega 3.7 for Windows. My application no longer shades objects in accordance
with time of day. The sky is the correct shade but all of the objects
are not shaded. When I revert back to Vega 3.6 for Windows, all is well.
What is the deal? Due to the confusion over this issue, a new flt loader mode has been added(in Vega 3.7.1 for Windows) that allows users to get the old behavior without having to modify their flt files. This mode is DISABLED by default, however it is trivial to enable it. Users can now force lighting to be enabled for lit faces that do not have materials by setting OpenFlight converter mode PFFLT_FORCE_NOMAT_ENLIGHTING to a value of TRUE. pfdConverterMode should be called after vgInitSys is called, and can be reset on a per-dataset load basis. The code below demonstrates how to enable the new mode: snip... vgInitSys(); If WARN level error notification is enabled, and this mode is disabled, then a warning message will also be printed to the console to inform the user of the inconsistency within their database. All of this is also documented in the release notes for Vega 3.7.1 for Windows.
Q: I'm having a variety
of problems with my light-points since I upgraded to Vega 3.7 for Windows.
Why? Q: When using Vega 3.7
for Windows, the repeated addition and deletion of objects seems to cause
a crash. Why? Another thing to investigate would be whether or not you need to upgrade your Visual C++. Make sure you are using Microsoft Visual C++ 6.0 with Service Pack 5. There is a memory problem in Microsoft's Visual C++ that can cause our application to crash when reallocating memory. This problem is fixed in Service Pack 5, which you can get from Microsoft's website. Q: I am using Vega
3.5/3.6 for Windows, and I am having a lot of problems with the path tool.
It seems to be very unstable, and performs erratically or crashes often.
What can I do. Q: I'm having problems
getting Distributed Vega to work. Can you help? Distributed Vega Tutorial INITIALIZE DISTRIBUTED VEGA IN YOUR APPLICATION 1) Add vgdv.h to the include portion of your app for
the Distributed Vega header file Your source code should look similar to this: #include void main ( int argc , char *argv[] ) { if ( argc < 2 ) { printf ( "syntax
: %s exit ( -1 ); } vgInitDv(argc, argv, NULL); vgInitSys(); /* init, define, and config the system */ /* the real-time loop */ vgSyncFrame (); vgFrame (); } }
CREATE APPLICATION DEFINITION FILE Rename the Default window Right Window' Create a new window and name it Left Window' Rename the Default channel Right Channel' Create a new channel. Name it Left Channel'. Associate the Left Channel' with the Left Window' Add the Left Channel' to the Default' observer. Run Active preview to check your work. You should see two windows on the same screen, each duplicating the same scene. Close Active Preview.
CONFIGURE MASTER AND SLAVES
Because we want the left window to appear on the master machine's monitor, there is no need to fill in the Hostname' text edit field. Set the Path to Slave Application on Host' to the mapped drive letter i.e. X' Because we want the right window to appear on the slave machine's monitor, we must fill in the Hostname' text edit field with the slave machines name! Miss this step and you will experience undesired effects! On the Windows Panel for Right window' Walk over to the slave machine
TO RUN YOUR DISTRIBUTED VEGA APPLICATION On the slave machine, type into the console window distVega myadf.adf vg_slave (the third parameter indicates this is a slave and not a master) The slave machine will wait for input from the master machine prior to executing. Once it is ready, you will see a window on each machine, showing the exact same scene.
Optional data The slave machine will still need the vg_slave to be added to the execution of the application. The downside of this method is if you make any changes to the application or adf on the master machine, you must duplicate these changes on the slave machine (since the data is coming from two different locations).
Licensing:
Known Bugs
To set up static IP addresses: ping Add the IP address and hosts name to the c:\winnt\system32\driver\etc\hosts file Open the hosts file via notepad. # Copyright (c) 1993-1999 Microsoft Corp. 127.0.0.1.1 localhost Right click on network neighborhood Q: I get errors when I run
Vega for Irix with Performer 2.4 or higher. These errors may take the
form of rld errors when running Vega or version search suppression
errors when running Active Preview. Why? How do I fix this problem? If you are not going to be doing development work with Performer or Vega, it is possible to install both the 2.2 and 2.4/2.5 runtime libraries (.so) in the /usr/lib32 directories. Since the libraries have a specific version attached, an application that has been compiled with performer 2.2 would only find the 2.2 libraries, while an application that was compiled with performer 2.4 would only find the 2.4 libraries. Installing two development libraries at the same time is a bit more difficult. To do this:
Q: What is static compiling and how do I statically compile on NT? When an application is compiled dynamically, the executable contains references to dynamically linked libraries (.dll's) These libraries contain functions that the application can use. When the executable requires the use of a function not defined in the application itself, a call will be made to the appropriate .dll to perform the operation. This allows the executable file to be quite small. When an application is compiled statically, all functions necessary for the application will be placed in the executable file. This will make the executable larger, but no dll's will be required to run the application The first step in compiling statically is to go to the build menu and choose the configuration you want to make compile statically. You may want to create a separate configuration for the static and one for the dynamic compiles. To make a new configuration, click on Build -> Configurations. Now press the Add button in the pop up window. Name the new configuration, ReleaseS for example, and choose which configuration you are going to copy the settings from. Using the Release configuration will probably be best. Now click OK. Go back to Builds -> Set Active Configuration and select the configuration you just created. Go to Project -> Settings. On the C++ tab, in the Project Options field, add either /MD for a release version or a /MDd for a debug version. Also define _PSI_STATIC_LIBS in the pre-processor definitions.. On the Link tab, in the Object/Libraries dialog box, add: kernel32.lib user32.lib opengl32.lib glu32.lib glaux.lib psVTexS.lib The above libraries will be needed for basically every project. If you receive unresolved symbol errors, such as: psVgSD.lib(texture.obj) : error LNK2001: unresolved external symbol _pfGetClipTextureClassTyp this means that you need to include another library. What you need to do is copy the symbol, which is just the last part of the statement, in this case, pfGetClipTextureClassType, and search for the files(s) containing the text in the Paradigm\Vega directory. The files with .lib extension are the files you are looking for. There is a possibility that you may find more then just one library that contains the symbol. There are some rules on which library to use, as explained below, but sometimes there is just a bit of luck involved. After you have determined which is the appropriate library, you will want to include library on the Object/Libraries dialog box on the Link tab of your project settings. If a search is done on psAW*.lib, with the '*' being a wildcard, you will see there are several different libraries. You will find: psAW.lib, psAWD.lib, psAWS.lib, and psAWSD.lib. The psAW.lib file is for a dynamic release compile, psAWD.lib for a dynamic debug, psAWS.lib for a static release, psAWSD.lib for a static debug compile. Which library you choose depends on what kind of compile you are trying to do. When compiling you should receive messages saying that you are linking with static libraries. Below is an example from a static compile. Notice the S at the end of the file names. Compiling... You should also receive a message saying a library and object are being created. Creating library Your_appS.lib and object Your_appS.exp. These files must be included with the executable. They contain necessary information for the program to run. You will also have to copy XVSdll.dll from the development machine to the runtime machine.
|