예제 #1
0
TexturePair AssetsManager::showTexture(const std::string textureName)
{
	// 	if (!mOgreCEGUITexture) {
	// 		S_LOG_WARNING("You must first create a valid OgreCEGUITexture instance.");
	// 		return;
	// 	}
	if (Ogre::TextureManager::getSingleton().resourceExists(textureName)) {
		Ogre::TexturePtr texturePtr = static_cast<Ogre::TexturePtr>(Ogre::TextureManager::getSingleton().getByName(textureName));
		if (!texturePtr.isNull()) {
			if (!texturePtr->isLoaded()) {
				try {
					texturePtr->load();
				} catch (...) {
					S_LOG_WARNING("Error when loading " << textureName << ". This texture will not be shown.");
					return TexturePair();
				}
			}
			std::string textureName(texturePtr->getName());
			std::string imageSetName(textureName + "_AssetsManager");

			return createTextureImage(texturePtr, imageSetName);
			// 			mOgreCEGUITexture->setOgreTexture(texturePtr);
		}
	}
	return TexturePair();

}
예제 #2
0
파일: Engine.cpp 프로젝트: zgub4/op3d
void op3d::Engine::initVulkan()
{
    instance.create();
    callback.setup(instance);
    surface.create(instance, window);
    physicalDevice.create(instance, surface);
    device.create(physicalDevice, surface, graphicsQueue, presentQueue);
    swapChain.create(device, surface, physicalDevice, window);
    swapChain.createImageViews(device, swapChainImageViews);
    createRenderPass();
    createDescriptorSetLayout();
    createGraphicsPipeline();
    commandBufferManager.createCommandPool(physicalDevice, surface);
    createDepthResources();
    createFramebuffers();
    createTextureImage();
    createTextureImageView();
    createTextureSampler();
    createVertexBuffer();
    createIndexBuffer();
    createUniformBuffer();
    descriptorPool.createPool();
    descriptorSet.createSet(uniformBuffer, textureImageView, textureSampler, descriptorSetLayout, descriptorPool, device);
    createCommandBuffers();
    createSemaphores();
}
예제 #3
0
void QCustom3DLabelPrivate::handleTextureChange()
{
    createTextureImage();
    m_dirtyBits.textureDirty = true;
    if (!m_textureFile.isEmpty()) {
        m_textureFile.clear();
        emit q_ptr->textureFileChanged(m_textureFile);
    }
}
예제 #4
0
QCustom3DLabelPrivate::QCustom3DLabelPrivate(QCustom3DLabel *q) :
    QCustom3DItemPrivate(q),
    m_font(QFont(QStringLiteral("Arial"), 20)),
    m_bgrColor(Qt::gray),
    m_txtColor(Qt::white),
    m_background(true),
    m_borders(true),
    m_facingCamera(false),
    m_customVisuals(false),
    m_facingCameraDirty(false)
{
    m_isLabelItem = true;
    m_shadowCasting = false;
    m_meshFile = QStringLiteral(":/defaultMeshes/plane");
    createTextureImage();
}
예제 #5
0
QCustom3DLabelPrivate::QCustom3DLabelPrivate(QCustom3DLabel *q, const QString &text,
                                             const QFont &font, const QVector3D &position,
                                             const QVector3D &scaling,
                                             const QQuaternion &rotation) :
    QCustom3DItemPrivate(q, QStringLiteral(":/defaultMeshes/plane"), position, scaling, rotation),
    m_text(text),
    m_font(font),
    m_bgrColor(Qt::gray),
    m_txtColor(Qt::white),
    m_background(true),
    m_borders(true),
    m_facingCamera(false),
    m_customVisuals(false),
    m_facingCameraDirty(false)
{
    m_isLabelItem = true;
    m_shadowCasting = false;
    createTextureImage();
}
예제 #6
0
void QCustom3DLabelPrivate::createTextureImage()
{
    createTextureImage(m_bgrColor, m_txtColor, m_background, m_borders);
}