void icetStateSetDefaults(void) { GLint *int_array; int i; icetDiagnostics(ICET_DIAG_ALL_NODES | ICET_DIAG_WARNINGS); icetStateSetInteger(ICET_RANK, ICET_COMM_RANK()); icetStateSetInteger(ICET_NUM_PROCESSES, ICET_COMM_SIZE()); icetStateSetInteger(ICET_ABSOLUTE_FAR_DEPTH, 1); /*icetStateSetInteger(ICET_ABSOLUTE_FAR_DEPTH, 0xFFFFFFFF);*/ icetStateSetFloatv(ICET_BACKGROUND_COLOR, 4, black); icetStateSetInteger(ICET_BACKGROUND_COLOR_WORD, 0); icetResetTiles(); icetStateSetIntegerv(ICET_DISPLAY_NODES, 0, NULL); icetStateSetDoublev(ICET_GEOMETRY_BOUNDS, 0, NULL); icetStateSetInteger(ICET_NUM_BOUNDING_VERTS, 0); icetStateSetPointer(ICET_STRATEGY_COMPOSE, NULL); icetInputOutputBuffers(ICET_COLOR_BUFFER_BIT | ICET_DEPTH_BUFFER_BIT, ICET_COLOR_BUFFER_BIT); int_array = malloc(ICET_COMM_SIZE() * sizeof(GLint)); for (i = 0; i < ICET_COMM_SIZE(); i++) { int_array[i] = i; } icetStateSetIntegerv(ICET_COMPOSITE_ORDER, ICET_COMM_SIZE(), int_array); icetStateSetIntegerv(ICET_PROCESS_ORDERS, ICET_COMM_SIZE(), int_array); free(int_array); icetStateSetInteger(ICET_DATA_REPLICATION_GROUP, ICET_COMM_RANK()); icetStateSetInteger(ICET_DATA_REPLICATION_GROUP_SIZE, 1); icetStateSetPointer(ICET_DRAW_FUNCTION, NULL); icetStateSetInteger(ICET_READ_BUFFER, GL_BACK); #ifdef _WIN32 icetStateSetInteger(ICET_COLOR_FORMAT, GL_BGRA_EXT); #else icetStateSetInteger(ICET_COLOR_FORMAT, GL_RGBA); #endif icetStateSetInteger(ICET_FRAME_COUNT, 0); icetEnable(ICET_FLOATING_VIEWPORT); icetDisable(ICET_ORDERED_COMPOSITE); icetDisable(ICET_CORRECT_COLORED_BACKGROUND); icetEnable(ICET_DISPLAY); icetDisable(ICET_DISPLAY_COLORED_BACKGROUND); icetDisable(ICET_DISPLAY_INFLATE); icetEnable(ICET_DISPLAY_INFLATE_WITH_HARDWARE); icetStateSetBoolean(ICET_IS_DRAWING_FRAME, 0); icetStateSetPointer(ICET_COLOR_BUFFER, NULL); icetStateSetPointer(ICET_DEPTH_BUFFER, NULL); icetStateSetBoolean(ICET_COLOR_BUFFER_VALID, 0); icetStateSetBoolean(ICET_DEPTH_BUFFER_VALID, 0); icetStateResetTiming(); }
static void drawUseBackgroundColor(const IceTFloat *background_color) { IceTUInt background_color_word; IceTBoolean use_color_blending = (IceTBoolean)( *(icetUnsafeStateGetInteger(ICET_COMPOSITE_MODE)) == ICET_COMPOSITE_MODE_BLEND); ((IceTUByte *)&background_color_word)[0] = (IceTUByte)(255*background_color[0]); ((IceTUByte *)&background_color_word)[1] = (IceTUByte)(255*background_color[1]); ((IceTUByte *)&background_color_word)[2] = (IceTUByte)(255*background_color[2]); ((IceTUByte *)&background_color_word)[3] = (IceTUByte)(255*background_color[3]); icetStateSetFloatv(ICET_TRUE_BACKGROUND_COLOR, 4, background_color); icetStateSetInteger(ICET_TRUE_BACKGROUND_COLOR_WORD, background_color_word); if (use_color_blending) { IceTInt display_tile; /* We need to correct the background color by zeroing it out at * blending it back at the end. */ icetStateSetFloatv(ICET_BACKGROUND_COLOR, 4, black); icetStateSetInteger(ICET_BACKGROUND_COLOR_WORD, 0); icetGetIntegerv(ICET_TILE_DISPLAYED, &display_tile); if ( (background_color_word != 0) && icetIsEnabled(ICET_CORRECT_COLORED_BACKGROUND) ) { icetStateSetBoolean(ICET_NEED_BACKGROUND_CORRECTION, ICET_TRUE); } else { icetStateSetBoolean(ICET_NEED_BACKGROUND_CORRECTION, ICET_FALSE); } } else { icetStateSetFloatv(ICET_BACKGROUND_COLOR, 4, background_color); icetStateSetInteger(ICET_BACKGROUND_COLOR_WORD, background_color_word); icetStateSetBoolean(ICET_NEED_BACKGROUND_CORRECTION, ICET_FALSE); } }
void icetStateSetDefaults(void) { IceTInt *int_array; int i; int comm_size, comm_rank; icetDiagnostics(ICET_DIAG_ALL_NODES | ICET_DIAG_WARNINGS); comm_size = icetCommSize(); comm_rank = icetCommRank(); icetStateSetInteger(ICET_RANK, comm_rank); icetStateSetInteger(ICET_NUM_PROCESSES, comm_size); /* icetStateSetInteger(ICET_ABSOLUTE_FAR_DEPTH, 1); */ /*icetStateSetInteger(ICET_ABSOLUTE_FAR_DEPTH, 0xFFFFFFFF);*/ icetStateSetFloatv(ICET_BACKGROUND_COLOR, 4, black); icetStateSetInteger(ICET_BACKGROUND_COLOR_WORD, 0); icetStateSetInteger(ICET_COLOR_FORMAT, ICET_IMAGE_COLOR_RGBA_UBYTE); icetStateSetInteger(ICET_DEPTH_FORMAT, ICET_IMAGE_DEPTH_FLOAT); icetResetTiles(); icetStateSetIntegerv(ICET_DISPLAY_NODES, 0, NULL); icetStateSetDoublev(ICET_GEOMETRY_BOUNDS, 0, NULL); icetStateSetInteger(ICET_NUM_BOUNDING_VERTS, 0); icetStateSetInteger(ICET_STRATEGY, ICET_STRATEGY_UNDEFINED); icetSingleImageStrategy(ICET_SINGLE_IMAGE_STRATEGY_AUTOMATIC); icetCompositeMode(ICET_COMPOSITE_MODE_Z_BUFFER); int_array = icetStateAllocateInteger(ICET_COMPOSITE_ORDER, comm_size); for (i = 0; i < comm_size; i++) { int_array[i] = i; } int_array = icetStateAllocateInteger(ICET_PROCESS_ORDERS, comm_size); for (i = 0; i < comm_size; i++) { int_array[i] = i; } icetStateSetInteger(ICET_DATA_REPLICATION_GROUP, comm_rank); icetStateSetInteger(ICET_DATA_REPLICATION_GROUP_SIZE, 1); icetStateSetInteger(ICET_FRAME_COUNT, 0); if (getenv("ICET_MAGIC_K") != NULL) { IceTInt magic_k = atoi(getenv("ICET_MAGIC_K")); if (magic_k > 1) { icetStateSetInteger(ICET_MAGIC_K, magic_k); } else { icetRaiseError("Environment varible ICET_MAGIC_K must be set" " to an integer greater than 1.", ICET_INVALID_VALUE); icetStateSetInteger(ICET_MAGIC_K, ICET_MAGIC_K_DEFAULT); } } else { icetStateSetInteger(ICET_MAGIC_K, ICET_MAGIC_K_DEFAULT); } if (getenv("ICET_MAX_IMAGE_SPLIT") != NULL) { IceTInt max_image_split = atoi(getenv("ICET_MAX_IMAGE_SPLIT")); if (max_image_split > 0) { icetStateSetInteger(ICET_MAX_IMAGE_SPLIT, max_image_split); } else { icetRaiseError("Environment variable ICET_MAX_IMAGE_SPLIT must be" " set to an integer greater than 0.", ICET_INVALID_VALUE); icetStateSetInteger(ICET_MAX_IMAGE_SPLIT, ICET_MAX_IMAGE_SPLIT_DEFAULT); } } else { icetStateSetInteger(ICET_MAX_IMAGE_SPLIT, ICET_MAX_IMAGE_SPLIT_DEFAULT); } icetStateSetPointer(ICET_DRAW_FUNCTION, NULL); icetStateSetPointer(ICET_RENDER_LAYER_DESTRUCTOR, NULL); icetEnable(ICET_FLOATING_VIEWPORT); icetDisable(ICET_ORDERED_COMPOSITE); icetDisable(ICET_CORRECT_COLORED_BACKGROUND); icetEnable(ICET_COMPOSITE_ONE_BUFFER); icetEnable(ICET_INTERLACE_IMAGES); icetEnable(ICET_COLLECT_IMAGES); icetDisable(ICET_RENDER_EMPTY_IMAGES); icetStateSetBoolean(ICET_IS_DRAWING_FRAME, 0); icetStateSetBoolean(ICET_RENDER_BUFFER_SIZE, 0); icetStateSetInteger(ICET_VALID_PIXELS_TILE, -1); icetStateSetInteger(ICET_VALID_PIXELS_OFFSET, 0); icetStateSetInteger(ICET_VALID_PIXELS_NUM, 0); icetStateResetTiming(); }