コード例 #1
0
ファイル: computeparticles.cpp プロジェクト: Ancou/Vulkan
	void initVulkan()
	{
		VulkanAndroidExampleBase::initVulkan();

		loadTexture(
			"textures/android_robot.ktx", 
			VK_FORMAT_R8G8B8A8_UNORM, 
			&texture,
			false);

		createCommandBuffers();

		// Compute stuff
		getComputeQueue();
		createComputeCommandBuffer();
		prepareStorageBuffers();

		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();

		prepareCompute();

		buildCommandBuffers();
		buildComputeCommandBuffer();

		state.zoom = -5.0f;
		state.rotation = glm::vec3();

		prepared = true;
	}
コード例 #2
0
ファイル: parallaxmapping.cpp プロジェクト: Rominitch/Vulkan
	void prepare()
	{
		VulkanExampleBase::prepare();
		loadAssets();
		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();
		buildCommandBuffers();
		prepared = true;
	}
コード例 #3
0
	void prepare()
	{
		VulkanExampleBase::prepare();
		generateCube();
		setupVertexDescriptions();
		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();
		buildCommandBuffers();
		prepared = true;
	}
コード例 #4
0
ファイル: multisampling.cpp プロジェクト: mnstrmnch/Vulkan
	void prepare()
	{
        sampleCount = getMaxUsableSampleCount();
		VulkanExampleBase::prepare();
		loadAssets();
		setupVertexDescriptions();
		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();
		buildCommandBuffers();
		prepared = true;
	}
コード例 #5
0
	void prepare()
	{
		VulkanExampleBase::prepare();
		loadTextures();
		getComputeQueue();
		prepareStorageBuffers();
		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();
		prepareCompute();
		buildCommandBuffers();
		prepared = true;
	}
コード例 #6
0
ファイル: mesh.cpp プロジェクト: prenaux/Vulkan
    void initVulkan()
    {
        VulkanAndroidExampleBase::initVulkan();

        prepareVertices();
        prepareUniformBuffers();
        setupDescriptorSetLayout();
        preparePipelines();
        setupDescriptorPool();
        setupDescriptorSet();

        buildCommandBuffers();

        state.zoom = -5.0f;
        state.rotation = glm::vec3();

        prepared = true;
    }
コード例 #7
0
ファイル: tessellation.cpp プロジェクト: ChristophHaag/Vulkan
	void prepare()
	{
		// Check if device supports tessellation shaders
		if (!deviceFeatures.tessellationShader)
		{
			vkTools::exitFatal("Selected GPU does not support tessellation shaders!", "Feature not supported");
		}

		VulkanExampleBase::prepare();
		loadTextures();
		loadMeshes();
		setupVertexDescriptions();
		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();
		buildCommandBuffers(); 
		prepared = true;
	}
コード例 #8
0
ファイル: main.cpp プロジェクト: AsGreyWolf/Vulkan
	void initVulkan()
	{
		VulkanAndroidExampleBase::initVulkan();

		loadTexture(
			"textures/vulkan_android_robot.ktx", 
			VK_FORMAT_R8G8B8A8_UNORM, 
			false);

		prepareVertices();
		prepareUniformBuffers();
		setupDescriptorSetLayout();
		preparePipelines();
		setupDescriptorPool();
		setupDescriptorSet();

		buildCommandBuffers();

		state.zoom = -5.0f;
		state.rotation = glm::vec3();

		prepared = true;
	}
コード例 #9
0
            bool VKMaterial::VPrepare(IPipeline* pipeline) 
            {
                VKRenderer* renderer = VKRenderer::RendererInstance;
                VkDevice device = renderer->GetVKDevice();
                VkDescriptorPool descriptorPool = renderer->GetVKDescriptorPool();

                VKPipeline* vkPipeline = static_cast<VKPipeline*>(pipeline);

                m_materialLayout = vkPipeline->GetVKDescriptorSetLayouts()[1];

                //Prepare uniform buffers
                //if(m_shaderVariables.size() > 0)
                    renderer->CreateBuffer(device, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, sizeof(Math::Matrix4), nullptr, &m_uniformVSBuffer);
                //renderer->CreateBuffer(device, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, 0, nullptr, &m_uniformFSBuffer);

                m_uniformVSBuffer.descriptor.offset = 0;
                m_uniformVSBuffer.descriptor.range = sizeof(Math::Matrix4);

                if (!setupDescriptorSet(descriptorPool, device))
                    return false;

                return true;
            }