📄 hk_public.h
字号:
#define HK_ATEXT_SLANT 0x4d#define HK_ATEXT_STYLE 0x4e#define HK_MARKER_GEOM_FORMAT 0x4f#define HK_MARKER_SNAP_TO_GRID 0x50#define HK_WINDOW_BOUNDARY 0x51#define HK_GUARD_BAND 0x52#define HK_Z_BUFFER_COMPARE 0x53#define HK_Z_BUFFER_UPDATE 0x54#define HK_DEPTH_CUE_ENABLE 0x55#define HK_MCP_MASK 0x56#define HK_NUM_MCP 0x57#define HK_TRAVERSAL_MODE 0x58#define HK_PICK_RESULTS_BUFFER 0x59#define HK_HSVN 0x5a#define HK_CSVN 0x5b#define HK_CEN 0x5c#define HK_UPICK_ID 0x5d#define HK_ECHO_SVN 0x5e#define HK_ECHO_EN 0x5f#define HK_ECHO_UPICK_ID 0x60#define HK_ECHO_TYPE 0x61#define HK_NON_ECHO_INVISIBLE 0x62#define HK_ECHO_INVISIBLE 0x63#define HK_FORCE_ECHO_COLOR 0x64#define HK_RASTER_OP 0x65#define HK_PLANE_GROUP 0x66#define HK_PLANE_MASK 0x67#define HK_DRAW_BUFFER 0x68#define HK_FAST_CLEAR_SET 0x69#define HK_CURRENT_WID 0x6a#define HK_WID_CLIP_MASK 0x6b#define HK_WID_WRITE_MASK 0x6c#define HK_STEREO_MODE 0x6d#define HK_INVISIBILITY 0x6e#define HK_TRANSPARENCY_MODE 0x6f#define HK_STROKE_ANTIALIASING 0x70#define HK_STOCHASTIC_ENABLE 0x71#define HK_STENCIL_TRANSPARENT 0x72#define HK_STACK_LIMIT 0x73#define HK_SCRATCH_BUFFER 0x74#define HK_ECHO_STRUCTURE 0x75#define HK_ECHO_END_EN 0x76#define HK_UNDRAW 0x77/* Note: The above group has more than 32 entries, so it uses two op-codes *//* in the main dispatch table *//* Multiple word - unbundled attributes (with op-codes 0x44, 0x45) */#define HK_LINE_OFF_COLOR 0x80#define HK_SURFACE_NORMAL 0x81#define HK_EDGE_OFF_COLOR 0x82#define HK_RTEXT_UP_VEC 0x83#define HK_RTEXT_ALIGNMENT 0x84#define HK_ATEXT_UP_VEC 0x85#define HK_ATEXT_ALIGNMENT 0x86#define HK_LOAD_GMT 0x87#define HK_LOAD_LMT 0x88#define HK_PRE_CONCAT_LMT 0x89#define HK_POST_CONCAT_LMT 0x8a#define HK_CMT_TO_GMT 0x8b#define HK_ASPECT_RATIO 0x8c#define HK_VIEW 0x8d#define HK_Z_RANGE 0x8e#define HK_DEPTH_CUE_PARAMETERS 0x8f#define HK_DEPTH_CUE_COLOR 0x90#define HK_LIGHT_MASK 0x91#define HK_LIGHT_SOURCE 0x92#define HK_ADD_MCP 0x93#define HK_NAME_SET 0x94#define HK_INVISIBILITY_FILTER 0x95#define HK_HIGHLIGHTING_FILTER 0x96#define HK_PICK_FILTER 0x97#define HK_CLEAR_PICK_RESULTS 0x98#define HK_PICK_BOX 0x99#define HK_ECHO_COLOR 0x9a#define HK_WINDOW_BG_COLOR 0x9b#define HK_STOCHASTIC_SETUP 0x9c#define HK_HIGHLIGHT_COLOR 0x9d#define HK_STENCIL_FG_COLOR 0x9e#define HK_STENCIL_BG_COLOR 0x9f#define HK_CLIPPING_LIMITS 0xa0/* Note: The above group has more than 32 entries, so it uses two op-codes *//* in the main dispatch table *//* The last one is reserved to help catch certain error conditions: */#define HK_ILLEGAL_ATTRIBUTE 0xff/* *-------------------------------------------------------------- * * Lookup table sub-opcodes * * These are the few sub-opcodes for the UPDATE_LUT instruction. * *-------------------------------------------------------------- */#define HK_UPDATE_WLUT 0x00#define HK_UPDATE_CLUT 0x01#define HK_UPDATE_FCBG 0x02/* *-------------------------------------------------------------- * * Various size constants * *-------------------------------------------------------------- *//* Number of state bits for push/pop state and restore partial context */#define HKST_NUM_WORDS 8/* Constant for 20x16 screen door (20 words each using the lower 16 bits) */#define HK_SD_MAX 20/* Maximum lights that may be defined */#define HK_MAX_LIGHTS 32/* Maximum model planes that may be defined */#define HK_MAX_MODEL_PLANES 16/* Maximum segments in a pattern definition */#define HK_PATTERN_MAX_SEGS 64/* Maximum curve order */#define HK_MAXORD 10/* Maximum number of knots and control points in a curve */#define HK_MAX_KNOTS 100#define HK_MAX_CNTRL_PTS 100/* Number of 32-bit words for phigs filters/name_set. (1024 bits total) */#define HK_NUMBER_FILTER_WORDS 32/* Offsets into the (linear) matrix */#define HKM_0_0 0#define HKM_0_1 1#define HKM_0_2 2#define HKM_0_3 3#define HKM_1_0 4#define HKM_1_1 5#define HKM_1_2 6#define HKM_1_3 7#define HKM_2_0 8#define HKM_2_1 9#define HKM_2_2 10#define HKM_2_3 11#define HKM_3_0 12#define HKM_3_1 13#define HKM_3_2 14#define HKM_3_3 15/* * Stochastic Sample anti-aliasing related. Precision reflects the * number of bits *per color* used for the convolution arithmetic. */#define HKSS_FILTER_SIZE_X 3#define HKSS_FILTER_SIZE_Y HKSS_FILTER_SIZE_X#define HKSS_FILTER_SIZE (HKSS_FILTER_SIZE_X * HKSS_FILTER_SIZE_Y)#define HKSS_FILTER_PRECISION 24#define HKSS_ACCUM_PRECISION 16#define HKSS_RASTER_PRECISION 8#define HKSS_FIRST_PASS 0 /* value for ss_pass_num on 1st pass *//* Z buffer range */#define HK_Z_RANGE_SHIFT 8 /* Number of bits to shift */#define HK_Z_BITS 24 /* Number of bits in Z buffer */#define HK_NUM_Z_VALUES (1 << HK_Z_BITS) /* Range of Z buffer values *//* diag_escape magic number */#define HK_ESC_I860_MAGIC 0x014D0000 /* magic number i860 coff */#define HK_ESC_I860_MAGIC_MASK 0xFFFF0000 /* magic number mask *//*------------------------------------------------------------- * * Invisibility register reserved bit patterns * *------------------------------------------------------------ */#define HK_INV_INVIS_FILTER 0x00010000#define HK_INV_PICK_FILTER 0x00020000#define HK_INV_ECHO 0x00040000#define HK_INV_NON_ECHO 0x00080000/* *-------------------------------------------------------------- * * Enumerations for attributes * *-------------------------------------------------------------- *//* Line geometry format */#ifndef LOCOREtypedef int Hk_line_geom_format;#endif !LOCORE#define HK_LINE_XYZ 0#define HK_LINE_XYZ_RGB 1#define HK_LINE_H_XYZ 2#define HK_LINE_H_XYZ_RGB 3/* Bit positions within line_geom_format */#define HK_LINE_RGB_PRESENCE 0x1#define HK_LINE_HEADER_PRESENCE 0x2/* Line shading method */#ifndef LOCOREtypedef int Hk_line_shading_method;#endif !LOCORE#define HK_LINE_SHADING_NONE 0#define HK_LINE_SHADING_INTERPOLATE 1/* Line style */#ifndef LOCOREtypedef int Hk_line_style;#endif !LOCORE#define HK_LINESTYLE_SOLID 0#define HK_LINESTYLE_UNBALANCE 4#define HK_LINESTYLE_UNBALANCE_OFFCOLOR 5#define HK_LINESTYLE_BALANCE 6#define HK_LINESTYLE_BALANCE_OFFCOLOR 7/* Line cap */#ifndef LOCOREtypedef int Hk_line_cap;#endif !LOCORE#define HK_CAP_BUTT 0#define HK_CAP_SQUARE 1#define HK_CAP_ROUND 2/* Line join */#ifndef LOCOREtypedef int Hk_line_join;#endif !LOCORE#define HK_JOIN_BUTT 0#define HK_JOIN_BEVEL 1#define HK_JOIN_MITER 2#define HK_JOIN_ROUND 3/* Curve approximation type */#ifndef LOCOREtypedef int Hk_curve_type;#endif !LOCORE#define HK_CONST_PARAM_SUBDIVISION 0#define HK_CONST_PARAM_BETWEEN_KNOTS 1#define HK_METRIC_WC 2#define HK_METRIC_NPC 3#define HK_CHORDAL_DEV_WC 4#define HK_CHORDAL_DEV_NPC 5/* Surface approximation type */#ifndef LOCOREtypedef int Hk_surf_type;#endif !LOCORE#define HK_SURF_CONST_PARAM_SUBDIVISION 0#define HK_SURF_CONST_PARAM_BETWEEN_KNOTS 1#define HK_SURF_METRIC_WC 2#define HK_SURF_METRIC_NPC 3#define HK_SURF_PLANAR_DEV_WC 4#define HK_SURF_PLANAR_DEV_NPC 5/* Triangle geometry format */#ifndef LOCOREtypedef int Hk_tri_geom_format;#endif !LOCORE#define HK_TRI_VERTEX_NORMAL_PRESENCE 0x01#define HK_TRI_FACET_NORMAL_PRESENCE 0x02#define HK_TRI_VERTEX_COLOR_PRESENCE 0x04#define HK_TRI_FACET_COLOR_PRESENCE 0x08#define HK_TRI_XYZ_VNORMAL HK_TRI_VERTEX_NORMAL_PRESENCE#define HK_TRI_XYZ_FNORMAL HK_TRI_FACET_NORMAL_PRESENCE#define HK_TRI_XYZ_VFNORMAL \ (HK_TRI_VERTEX_NORMAL_PRESENCE | HK_TRI_FACET_NORMAL_PRESENCE)#define HK_TRI_XYZ_VNORMAL_VCOLOR \ (HK_TRI_VERTEX_NORMAL_PRESENCE | HK_TRI_VERTEX_COLOR_PRESENCE)#define HK_TRI_XYZ_FNORMAL_VCOLOR \ (HK_TRI_FACET_NORMAL_PRESENCE | HK_TRI_VERTEX_COLOR_PRESENCE)#define HK_TRI_XYZ_VNORMAL_FCOLOR \ (HK_TRI_VERTEX_NORMAL_PRESENCE | HK_TRI_FACET_COLOR_PRESENCE)#define HK_TRI_XYZ_FNORMAL_FCOLOR \ (HK_TRI_FACET_NORMAL_PRESENCE | HK_TRI_FACET_COLOR_PRESENCE)#define HK_TRI_XYZ_VFNORMAL_VFCOLOR \ (HK_TRI_VERTEX_NORMAL_PRESENCE | HK_TRI_FACET_NORMAL_PRESENCE | \ HK_TRI_VERTEX_COLOR_PRESENCE | HK_TRI_FACET_COLOR_PRESENCE)/* Polygon interior style */#ifndef LOCOREtypedef int Hk_interior_style;#endif !LOCORE#define HK_POLYGON_SOLID 0#define HK_POLYGON_HOLLOW 1#define HK_POLYGON_HATCHED 2#define HK_POLYGON_EMPTY 3#define HK_POLYGON_GENERAL 4/* Polygon shading method */#ifndef LOCOREtypedef int Hk_poly_shading_method;#endif !LOCORE#define HK_SHADING_FLAT 0#define HK_SHADING_GOURAUD 1#define HK_SHADING_PHONG 2/* Polygon lighting degree */#ifndef LOCOREtypedef int Hk_lighting_degree;#endif !LOCORE#define HK_NO_LIGHTING 0#define HK_AMBIENT_LIGHTING 1#define HK_DIFFUSE_LIGHTING 2#define HK_SPECULAR_LIGHTING 3/* Polygon culling mode */#ifndef LOCOREtypedef int Hk_cull_mode;#endif !LOCORE#define HK_CULL_NONE 0#define HK_CULL_BACKFACE 1#define HK_CULL_FRONTFACE 2/* Polygon transparency quality */#ifndef LOCOREtypedef int Hk_transparency_quality;#endif !LOCORE#define HK_NO_TRANSPARENCY (-1)#define HK_SCREEN_DOOR 0#define HK_ALPHA_BLEND 1/* Polygon edge control */#ifndef LOCOREtypedef int Hk_edge_control;#endif !LOCORE#define HK_EDGE_NONE 0#define HK_EDGE_SELECTED 1#define HK_EDGE_ALL 2/* Text path */#ifndef LOCOREtypedef int Hk_text_path;#endif !LOCORE#define HK_TP_RIGHT 0#define HK_TP_LEFT 1#define HK_TP_UP 2#define HK_TP_DOWN 3/* Text horizontal alignment */#ifndef LOCOREtypedef int Hk_text_h_alignment;#endif !LOCORE#define HK_AH_NORMAL 0#define HK_AH_LEFT 1#define HK_AH_CENTER 2#define HK_AH_RIGHT 3/* Text vertical alignment */#ifndef LOCOREtypedef int Hk_text_v_alignment;#endif !LOCORE#define HK_AV_NORMAL 0#define HK_AV_TOP 1#define HK_AV_CAP 2#define HK_AV_HALF 3#define HK_AV_BASE 4#define HK_AV_BOTTOM 5/* Annotation text style */#ifndef LOCOREtypedef int Hk_atext_style;#endif !LOCORE#define HK_ATEXT_NONE 0#define HK_ATEXT_LEAD_LINE 1/* Aspect ratio type */#ifndef LOCOREtypedef int Hk_aspect;#endif !LOCORE#define HK_ASPECT_NONE 0#define HK_ASPECT_LOWER_LEFT 1/* Z-buffer update */#ifndef LOCOREtypedef int Hk_z_buffer_update;#endif !LOCORE#define HK_Z_UPDATE_NONE 0#define HK_Z_UPDATE_NORMAL 1#define HK_Z_UPDATE_ALL 2/* Traversal mode */#ifndef LOCOREtypedef int Hk_traversal_mode;#endif !LOCORE#define HK_RENDER 0#define HK_PICK_WITHOUT_RENDER 1#define HK_PICK_WITHOUT_RENDER_P 2#define HK_PICK_WHILE_RENDER 3#define HK_PICK_WHILE_RENDER_P 4#define HK_PICK_ECHO 5/* Echo type */#ifndef LOCOREtypedef int Hk_echo_type;#endif !LOCORE#define HK_PICK_ECHO_EN 0#define HK_PICK_ECHO_SVN 1#define HK_PICK_ECHO_SVN_PLUS_DESCENDANTS 2#define HK_PICK_ECHO_SVN_WITH_UPICK_ID 3#define HK_PICK_ECHO_SVN_CONTIGUOUS_UPICK_ID 4#define HK_PICK_ECHO_SVN_EN_RANGE 5#define HK_PICK_ECHO_STRUCT_PLUS_DESCENDANTS 6#define HK_PICK_ECHO_STRUCT_EN_RANGE_PLUS_DESCENDANTS 7/* Light source type */#ifndef LOCOREtypedef int Hk_light_type;#endif !LOCORE#define HK_AMBIENT_LIGHT_SOURCE 0#define HK_DIRECTIONAL_LIGHT_SOURCE 1#define HK_POSITIONAL_LIGHT_SOURCE 2#define HK_SPOT_LIGHT_SOURCE 3/* Transparency mode */#ifndef LOCOREtypedef int Hk_transparency_mode;#endif !LOCORE#define HK_OPAQUE_VISIBLE 0#define HK_TRANSPARENT_VISIBLE 1#define HK_ALL_VISIBLE 2/* Stroke antialiasing */#ifndef LOCOREtypedef int Hk_stroke_antialiasing;#endif !LOCORE#define HK_AA_INDIVIDUAL (-1)#define HK_AA_NONE 0#define HK_AA_CONSTANT 1#define HK_AA_ARBITRARY 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -