Delphi D12.2 下载地址集合(包括以前版本)

请根据需要找到对应下载地址去下载。都是官方下载链接,下载也很快的。

版本名下载地址版本号
12.3https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_123_2017_E9E8FB1D4F9F.iso
12.2https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_2_9782_9961F.iso
12.1https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_1_61_7529.iso
12.0http://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_4915718.iso
11.3http://altd.embarcadero.com/download/radstudio/11.0/RADStudio_11_3_28_13236a.iso
11.2https://altd.embarcadero.com/download/radstudio/11.0/RADStudio_11_2_10937a.iso
11.1https://altd.embarcadero.com/download/radstudio/11.0/RADStudio_11_1_esd_10_8973a.iso
11.0https://altd.embarcadero.com/download/radstudio/11.0/radstudio_11_106491a.iso
10.4.2https://altd.embarcadero.com/download/radstudio/10.4/RADStudio-1042-4203.iso27.XXX.0146
10.4.1https://altd.embarcadero.com/download/radstudio/10.4/radstudio_10_4_101461a.iso27.XXX.0146
10.4 Sydneyhttp://altd.embarcadero.com/download/radstudio/10.4/radstudio_10_4_99797b.iso27.x.37889.9797
10.3.3 Riohttp://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_3_7899_nt.iso26.0.36039.7899
10.2.3 Tokyohttp://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2_3__93231.iso25.0.31059.3231
10.1 Berlinhttp://altd.embarcadero.com/download/radstudio/10.1/radstudio10_1_upd2_esd.iso24.0.25048.9432
10 Seattlehttp://altd.embarcadero.com/download/radstudio/10/delphicbuilder10_upd1.iso23.0.21418.4207
XE8http://altd.embarcadero.com/download/radstudio/xe8/delphicbuilder_xe8_upd1_subscription.iso22.0.19908.869
XE7http://altd.embarcadero.com/download/radstudio/xe7/delphicbuilder_xe7_upd1_win.iso21.0.17707.5020
XE6http://altd.embarcadero.com/download/radstudio/xe6/delphicbuilder_xe6_upd1_win.iso20.0.16277.1276
XE5http://altd.embarcadero.com/download/radstudio/xe5/delphicbuilder_xe5_upd2_win.iso19.0.14356.6604

需要的朋友可以收藏本贴,以后有新版本再更新。

相关或类似文章

Delphi RAD Studio 10.4 Sydney 新增和改进的功能简介

Delphi RAD Studio 10.4.2 Sydney的新增与改进介绍(上)

Delphi RAD Studio 10.4.2 Sydney的新增与改进介绍(下)

其他需要

您可以联系我。


欢迎光顾本人小店:(https://shop63778938.taobao.com/)
小店也提供delphi方面其他技术支持、定制开发。

现在就进店看看

大家有什么不清楚的,可以给我留言讨论
**以上信息对您有用的话请点赞收藏

在DirectX 12中渲染超大纹理需要采用纹理切割的技术,将大纹理切分成多个小纹理进行渲染。具体步骤如下: 1. 创建一个用于渲染的纹理对象,可以使用如下代码: ``` D3D12_HEAP_PROPERTIES heapProps = CD3DX12_HEAP_PROPERTIES(D3D12_HEAP_TYPE_DEFAULT); D3D12_RESOURCE_DESC resDesc = CD3DX12_RESOURCE_DESC::Tex2D(format, width, height, 1, mipLevels); resDesc.Flags |= D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET; resDesc.Flags |= D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS; ThrowIfFailed(device->CreateCommittedResource( &heapProps, D3D12_HEAP_FLAG_NONE, &resDesc, D3D12_RESOURCE_STATE_RENDER_TARGET, nullptr, IID_PPV_ARGS(&m_RenderTarget))); ``` 其中,format为纹理格式,width和height为纹理大小,mipLevels为mipmap级数。 2. 创建一个渲染目标视图和一个无序访问视图,用于后续的渲染和数据拷贝操作。可以使用如下代码: ``` D3D12_RENDER_TARGET_VIEW_DESC rtvDesc = {}; rtvDesc.Format = format; rtvDesc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2D; CD3DX12_CPU_DESCRIPTOR_HANDLE rtvHandle(m_RTVDescriptorHeap->GetCPUDescriptorHandleForHeapStart(), m_frameIndex, m_RTVDescriptorSize); device->CreateRenderTargetView(m_RenderTarget.Get(), &rtvDesc, rtvHandle); D3D12_UNORDERED_ACCESS_VIEW_DESC uavDesc = {}; uavDesc.Format = format; uavDesc.ViewDimension = D3D12_UAV_DIMENSION_TEXTURE2D; uavDesc.Texture2D.MipSlice = 0; CD3DX12_CPU_DESCRIPTOR_HANDLE uavHandle(m_UAVDescriptorHeap->GetCPUDescriptorHandleForHeapStart(), m_frameIndex, m_UAVDescriptorSize); device->CreateUnorderedAccessView(m_RenderTarget.Get(), nullptr, &uavDesc, uavHandle); ``` 其中,m_RTVDescriptorHeap和m_UAVDescriptorHeap为渲染目标视图和无序访问视图的描述符堆。 3. 将大纹理切割成多个小纹理,每个小纹理大小为256x256,循环遍历每个小纹理进行渲染。可以使用如下代码: ``` const int nTilesX = (width + 255) / 256; const int nTilesY = (height + 255) / 256; for (int y = 0; y < nTilesY; ++y) { for (int x = 0; x < nTilesX; ++x) { // Set viewport and scissor rect for current tile D3D12_VIEWPORT viewport = { x * 256.0f, y * 256.0f, 256.0f, 256.0f, 0.0f, 1.0f }; D3D12_RECT scissorRect = { x * 256, y * 256, (x + 1) * 256, (y + 1) * 256 }; // Set render target and clear color D3D12_CPU_DESCRIPTOR_HANDLE rtvHandle(m_RTVDescriptorHeap->GetCPUDescriptorHandleForHeapStart(), m_frameIndex, m_RTVDescriptorSize); device->OMSetRenderTargets(1, &rtvHandle, FALSE, nullptr); float clearColor[] = { 0.0f, 0.0f, 0.0f, 1.0f }; commandList->ClearRenderTargetView(rtvHandle, clearColor, 0, nullptr); // Draw using current viewport and scissor rect commandList->RSSetViewports(1, &viewport); commandList->RSSetScissorRects(1, &scissorRect); // Draw code goes here } } ``` 其中,m_frameIndex为当前帧的索引,commandList为渲染命令列表,需要在每个小纹理的渲染之前将渲染目标视图和清除颜色设置为当前纹理对应的视图和颜色。 4. 将渲染目标内容拷贝到CPU可访问的纹理中,可以使用如下代码: ``` D3D12_RESOURCE_BARRIER barrier = CD3DX12_RESOURCE_BARRIER::Transition(m_RenderTarget.Get(), D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_COPY_SOURCE); commandList->ResourceBarrier(1, &barrier); CD3DX12_TEXTURE_COPY_LOCATION src(m_RenderTarget.Get(), 0); CD3DX12_TEXTURE_COPY_LOCATION dst(m_StagingTexture.Get(), D3D12CalcSubresource(0, 0, 1)); commandList->CopyTextureRegion(&dst, 0, 0, 0, &src, nullptr); barrier = CD3DX12_RESOURCE_BARRIER::Transition(m_RenderTarget.Get(), D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_RENDER_TARGET); commandList->ResourceBarrier(1, &barrier); ``` 其中,m_StagingTexture为CPU可访问的纹理,需要将渲染目标从渲染状态转换为拷贝状态,然后使用CopyTextureRegion函数将渲染目标内容拷贝到CPU可访问的纹理中,最后再将渲染目标从拷贝状态转换为渲染状态。 通过以上步骤,就可以在DirectX 12中渲染超大纹理了。需要注意的是,纹理切割的大小和数量需要根据实际场景进行调整,以确保渲染效果和性能的平衡。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值