int main(int argc, char** argv) { printf("hello world\n"); time_init(); // set up the window glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(window_wd, window_ht); window = glutCreateWindow("atomos_gpu"); glutDisplayFunc(tick); glutReshapeFunc(reshapeHandler); glutKeyboardFunc(keyHandler); // glutMouseFunc(mouseHandler); assert (maxVolumes > simulation_ht * simulation_ht); initPositionMap(); initConnectionMap(); initFrameBuffers(); shader_tick.init( "shaders/vert.glsl", "shaders/tick.glsl" ); shader_display.init("shaders/vert.glsl", "shaders/display.glsl"); checkGLError(); doTiming("window setup"); printf("\n"); glutMainLoop(); return 0; }
void SurfaceWindow::createSwapchain() { VkSwapchainCreateInfoKHR info = {}; uint32_t nFormat; vkGetPhysicalDeviceSurfaceFormatsKHR(mDevice, mSurface, &nFormat, nullptr); std::vector<VkSurfaceFormatKHR> formats(nFormat); vkGetPhysicalDeviceSurfaceFormatsKHR(mDevice, mSurface, &nFormat, &formats[0]); if(nFormat == 1 && formats[0].format == VK_FORMAT_UNDEFINED) formats[0].format = VK_FORMAT_B8G8R8A8_SRGB; mFormat = formats[0].format; SimpleRenderPassBuilder renderPassBuilder; mRenderPass = renderPassBuilder.build(mDevice, mFormat); info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; info.pNext = nullptr; info.flags = 0; info.imageFormat = formats[0].format; info.imageColorSpace = formats[0].colorSpace; info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; info.preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR; info.compositeAlpha = VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR; info.presentMode = VK_PRESENT_MODE_MAILBOX_KHR; info.surface = mSurface; info.minImageCount = 2; // Double buffering... info.imageExtent.width = mWidth; info.imageExtent.height = mHeight; vulkanCheckError(vkCreateSwapchainKHR(mDevice, &info, nullptr, &mSwapchain)); initFrameBuffers(); }
void MainWidget::initializeGL() { initializeOpenGLFunctions(); connect(this, SIGNAL(frameSwapped()), this, SLOT(update())); glClearColor(1.0f, 0.0f, 0.0f, 1.0f); // Enable depth buffer //glEnable(GL_DEPTH_TEST); // Enable back face culling //glEnable(GL_CULL_FACE); initShaders(); initTextures(); initFrameBuffers(); }