N64® Functions Menu

al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

   

osViSetSpecialFeatures

Format
#include <ultra64.h>
void osViSetSpecialFeatures(u32 func);


What This Function Does
It is one of the following 16 management functions for the video interface (VI):
  • osViGetStatus
  • osViGetCurrentMode
  • osViGetCurrentLine
  • osViGetCurrentField
  • osViGetCurrentFramebuffer
  • osViGetNextFramebuffer
  • osViSetMode
  • osViSetEvent
  • osViSetSpecialFeatures
  • osViSetXScale
  • osViSetYScale
  • osViSwapBuffer
  • osViBlack
  • osViFade
  • osViRepeatLine
  • osCreateViManager
Links to each of these VI management functions are listed in the "See Also" section at the foot of this article.

For general information about the VI and its supported modes, codes, and functions, see the osVi page. The general information applies to each of the VI management functions and you should understood it before using any of the VI functions. All 16 functions are described, so you can see how they all work together to manage the VI.

Call osViSetSpecialFeatures to enable or disable various VI special features such as GAMMA, GAMMA_DITHER, DIVOT, and DITHER_FILTER. There are symbolic names defined in <os.h> including:
  • OS_VI_GAMMA_ON and OS_VI_GAMMA_OFF
  • OS_VI_GAMMA_DITHER_ON and OS_VI_GAMMA_DITHER_OFF
  • OS_VI_DIVOT_ON and OS_VI_DIVOT_OFF
  • OS_VI_DITHER_FILTER_ON and OS_VI_DITHER_FILTER_OFF
You can OR these names together to enable or disable specific features. Note that some of these settings only make sense in certain video modes. For example Gamma Dithering only happens if Gamma Correction is enabled, and Divot Removal only occurs in an anti-aliased video mode. Divot is a special operation that can be (optionally) performed on the anti-aliased pixels to filter out the "divot" (one pixel notch) artifacts when multiple silhouettes overlap on a pixel. Note that this filter is not used in regions of full coverage, so high spatial frequency textures within a surface will not be disturbed.

See Also
osViGetStatus
osViGetCurrentMode
osViGetCurrentLine
osViGetCurrentField
osViGetCurrentFramebuffer
osViGetNextFramebuffer
osViSetMode
osViSetEvent
osViSetXScale
osViSetYScale
osViSwapBuffer
osViBlack
osViFade
osViRepeatLine
osCreateViManager
osSetEventMesg
osGetTime



Nintendo® Confidential

Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.


Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last updated January 1998