*
**      $VER: graphics3D.i 10.01 (01.11.97) 
**
**      main include file (assembler) for graphics3D.library
**
**      (C) Copyright 1997 Patrizio Biancalani
**      All Rights Reserved.
*

	include "vinclude:exec/types.i"

* COSTANTI USATE DALLA LIBRERIA *

JAM1 equ 0
JAM2 equ 1
COMPLEMENT equ 2
INVERSVID equ 4
WIREF equ	0	* modo visualizzazione in wire frame 
SOLID equ	2	* modo visualizzazione in solid 
FLAT equ	1	* modo visualizzazione i flat shading
ZPLANE equ 	0       * #1 modo clippaggio oggetti 
FRUSTUM equ	1       * #2 modo clippaggio oggetti
SFIXV equ   	8       * n# di shift per cal. num. virgola fissa 
FIXV equ   	256	* fattore moltipl. per num. virgola fissa
FIXVM equ  	128	* meta' di FIXV , per effettuare appros. 
PROSP_P equ	0	* tipo proiezione prospettica
PARAL_P equ	1	* tipo proiezione parallela 
MFRAC equ	FIXV    * maschera per estrarre parte frazionaria 
END_T equ	0	* fine array tag3d di dati

* tipi dati per tag3d.tipo riconosciuti attualmente per 
* funzione cascene()
CS_PROJET equ	1	* tipo di proiezione 
CS_SBUFF  equ	2     	* attivazione o meno single buffering 
CS_GCOLOR equ	3	* nuovo colore sfondo box di visualizzazione
CS_VDIST  equ	4	* nuovo valore distanza da piano di proiezione
CS_NPX0	  equ	5     	* nuova posizione X per box di visualizzazione
CS_NPY0   equ	6     	* nuova posizione Y per box di visualizzazione


** STRUTTURE DATI DI USO ESTERNO ED INTERNO 
* vertice, usa formato float a virgola fissa ,(val*FIXV)
	STRUCTURE vertex,0
	LONG vx_x
	LONG vx_y
	LONG vx_z
	LABEL vx_SIZEOF

* struttura per definizione colore
	STRUCTURE rgbtype,0
	WORD rt_r
	WORD rt_g
	WORD rt_b
	LABEL rt_SIZEOF

* struttura tag3d per definire un array di valori estendibile 
* analogo alla struttura TagItem dell' Amiga O.S.            
	STRUCTURE tag3d,0
	UWORD t3_tipo
	LONG t3_val
	LABEL t3_SIZEOF 

