草庐IT

compiler-directives

全部标签

c++ - 如何在 Direct2D 中创建透明位图

我需要使用Direct2D创建透明位图并使用我的设备上下文在其上绘制。ID2D1DeviceContext1*d2dContext=...ID2D1Bitmap*pBitmap;d2dContext->CreateBitmap(bitmapSize,nullptr,0,D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_TARGET,D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM,D2D1_ALPHA_MODE_PREMULTIPLIED),dpiX,dpiY),&pBitmap);d2dContext->B

c++ - Direct2D 拒绝在窗口上绘制位图,静默失败

我正在尝试使用Direct2D将128x128位图绘制到窗口上。但是,没有任何显示,EndDraw()也没有返回任何错误。这是我的WM_PAINT代码:caseWM_PAINT:D2D1_RECT_Ftestd2dbuttonrect;mainwRT->BeginDraw();mainwRT->SetTransform(D2D1::Matrix3x2F::Identity());testd2dbutton.pd2drectgm->GetRect(&testd2dbuttonrect);mainwRT->FillRectangle(&testd2dbuttonrect,pSolidBru

c# - EndDraw() 在 Direct2D 中占用 80% 的工作时间

我在我的Direct2D应用程序中遇到了一个严重的性能问题。我利用Direct2D使用PathGeometry绘制图形以获得更好的性能并在Windows8.1中实现干净的渲染。在创建DeviceResources时,我使用Factory接口(interface)创建了PathGeometry。然后我设置图形点以在输出表面绘制我的图形。最终呈现的ImageSource将用作我在XAML中的Image元素的源。我只是按照下面的示例链接来实现我的场景。http://code.msdn.microsoft.com/windowsapps/XAML-SurfaceImageSource-58f7

c++ - VC++ 2013 : using-declaration + redefinition of member function leads to compile error

我想通过指定策略允许修改我的类的行为。该策略应该用作boost::variant的访问者。有适合大多数情况的默认策略,但用户可能需要添加或替换一些重载。我发现vc++2013没有编译此代码并出现错误C3066:Therearemultiplewaysthatanobjectofthistypeofcanbecalledwiththesearguments。相同的代码在gcc和clang中按预期编译和工作。是vc++2013的错误吗?#includestructDefaultPolicy{voidoperator()(bool){std::coutUPD这个例子适用于vc++2010。看

c++ - 为什么我们需要使用转换矩阵的 "transpose"? (direct3D11)

我已阅读SimpleMath并阅读Programmersguide文章,但我似乎无法理解矩阵“转换”后转置矩阵的目的我的意思是,我明白矩阵的转置是什么。我只是不明白为什么我们需要实际进行转置。以这段代码为例..(假设已经为CameraView和CameraProjection创建了矩阵)World=XMMatrixIdentity();WVP=World*CameraView*CameraProjection;XMMatrixTranspose(WVP)所以我的问题是,获取WVP的转置的目的是什么?这对Direct3D11有何作用? 最佳答案

c++ - 相同的 Direct2D 应用程序在 "slower"机器上表现更好

我编写了一个显示一定数量图形的Direct2D应用程序。当我运行这个应用程序时,大约需要4秒才能在我的笔记本上显示700,000个图形元素:IntelCorei7CPUQ7201.6GHzNVIDIAQuadroFX880M根据Direct2DMSDNpage:Direct2Disauser-modelibrarythatisbuiltusingtheDirect3D10.1API.ThismeansthatDirect2Dapplicationsbenefitfromhardware-acceleratedrenderingonmodernmainstreamGPUs.我原以为同一个

c++ - 警告 : 'assume_aligned' attribute directive ignored

我刚开始接触C++,我认为最好的方法是查看源代码。我在头文件中有如下代码。#ifdef_MSC_VER#defineMYAPP_CACHE_ALIGNED_RETURN/*notsupported*/#else#defineMYAPP_CACHE_ALIGNED_RETURN__attribute__((assume_aligned(64)))#endif我正在使用gcc(GCC)4.8.520150623(RedHat4.8.5-11)并且它已经很旧了。我在编译期间收到此警告:warning:'assume_aligned'attributedirectiveignored[-Wat

c++ - Direct3D - 如何从 View 矩阵计算滚动?

这个问题耗费了我整个晚上的时间,我终于要举手寻求帮助了。基本上,在您进行相机更新后立即从View矩阵计算俯仰和偏航是相当简单的:D3DXMatrixLookAtLH(&m_View,&sCam.pos,&vLookAt,&sCam.up);pDev->SetTransform(D3DTS_VIEW,&m_View);//SetthecameraaxesfromtheviewmatrixsCam.right.x=m_View._11;sCam.right.y=m_View._21;sCam.right.z=m_View._31;sCam.up.x=m_View._12;sCam.up.y

Name for argument of type [java.lang.String] not ... Ensure that the compiler uses the ‘-parameters’

更多信息:https://oldmoon.top/post/191简介使用最新版的Springboot3.2.1搭建开发环境进行开发,调用接口时出现奇怪的错。报错主要信息如下:Nameforargumentoftype[java.lang.String]notspecified,andparameternameinformationnotavailableviareflection.Ensurethatthecompilerusesthe‘-parameters’flag.官方说明中一直强调@PathVariable的使用,并没有提及@RequestParam,阅读官方文档@RequestPa

c++ - 未能释放Direct3D Device "or"对应上下文

是的,它实际上是“或”。我来解释一下。我正在为自己开发辅助类,例如DirectXToolKit。为了管理COM,我使用Microsoft::WRL::ComPtrT>(wrl.h)。structRenderer{ComPtrm_Device;ComPtrm_ImmContext;}当所有资源都被销毁时,上面结构的实例也应该被销毁,但是在调用dtor之后,我在Microsoft::WRL::ComPtrT中触发了错误>>,当它试图释放设备或上下文时。我已经在手动释放m_Device和m_ImmContext的地方实现了dtor,但不幸的是,我尝试释放的最后一个成员总是在函数中遇到问题un