欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

包含vb.net三維顯示的詞條

VB.net可以開發(fā)小型3D圖形顯示軟件嗎?

可以借助DirectX來編程。免費(fèi)3D引擎可不好找,一般來說速度比不上硬件加速后的DX,尤其令人頭疼的是一般都沒有針對(duì)VB的文檔,LZ有這方面理想的話,自己寫一個(gè)吧……

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、三穗網(wǎng)絡(luò)推廣、小程序開發(fā)、三穗網(wǎng)絡(luò)營銷、三穗企業(yè)策劃、三穗品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供三穗建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:aaarwkj.com

我不得不承認(rèn)在VB上寫DirectX的教程相當(dāng)難找!如果LZ想深入研究三維圖形問題,C++一定要學(xué),就算不能用C++編程,起碼要能把C++程序翻譯成VB程序。

我自己學(xué)會(huì)DX編程花了兩三個(gè)月(很淺)。編這樣一個(gè)程序難度是有點(diǎn)大的。

工具:DirectX9和其針對(duì)VB的庫(項(xiàng)目-添加引用。.NET庫里DX庫一般都有),VB不知道現(xiàn)在支不支持DX10以上的版本,不過9絕對(duì)夠用了。

思路:一切3D圖形都是由三角形拼成的。矩形挖掉一個(gè)圓孔可不是一個(gè)方便畫的圖形,我估計(jì)至少得有24個(gè)三角形。你需要記錄這些點(diǎn)的坐標(biāo),或者干脆把它們寫在文件里,到時(shí)讀出來。

這是我的一個(gè)老DX程序的不完全的代碼(顯示一個(gè)黑乎乎的平面),不一定能編譯,可以參考一下。

Imports Microsoft.DirectX '一定要~

Public Class FormMain

'Direct3D Startup

Dim d3dpp As New Direct3D.PresentParameters 'DX基本參數(shù),例如全屏還是窗口等

Public MyDevice As Direct3D.Device ‘DX基本設(shè)備,畫圖就靠它。

'Matrices

Dim matWorld, matView, matProj As Matrix '世界位置矩陣,攝像機(jī)位置矩陣和透視矩陣,數(shù)學(xué)要學(xué)好啊。

'mesh

Public MyPlane as Direct3D.Mesh ’我們的物體

Public VBPlane(3) As Direct3D.CustomVertex.PositionNormalTextured '存放頂點(diǎn)位置的數(shù)組

#Region "DX Core"

Public Sub InitDeviceObjects()

With d3dpp ‘以下請(qǐng)照抄。

.Windowed = True ‘不全屏。

.SwapEffect = Direct3D.SwapEffect.Discard ’雙緩沖交換效果。請(qǐng)百度“雙緩沖”

.BackBufferFormat = Direct3D.Format.Unknown

.EnableAutoDepthStencil = True ’讓DX自動(dòng)管理深度緩沖

.AutoDepthStencilFormat = Direct3D.DepthFormat.D16

End With

MyDevice = New Direct3D.Device(0, Direct3D.DeviceType.Hardware, Me.Handle, Direct3D.CreateFlags.HardwareVertexProcessing, d3dpp) '創(chuàng)建DX設(shè)備啦!以下兩句請(qǐng)照抄。

MyDevice.SetRenderState(Direct3D.RenderStates.ZEnable, True) ‘Z緩沖

MyDevice.SetRenderState(Direct3D.RenderStates.NormalizeNormals, True)'法線歸一化,請(qǐng)看相關(guān)數(shù)學(xué)書籍。

End Sub

Public Sub RestoreDeviceObjects()

Dim PlaneIB() As Short = {0, 1, 3, 0, 2, 3} ’頂點(diǎn)索引信息。

Dim AttrTable(1) As Direct3D.AttributeRange ‘頂點(diǎn)分組屬性表

AttrTable(0).AttributeId = 0

AttrTable(0).FaceStart = 0

AttrTable(0).FaceCount = 2 ’有兩個(gè)三角形

AttrTable(0).VertexStart = 0

AttrTable(0).VertexCount = 4 ‘四個(gè)點(diǎn)

‘頂點(diǎn)坐標(biāo)信息。

VBPlane(0) = New Direct3D.CustomVertex.PositionNormalTextured(-500, -500, 0, 0, 0, 1, 0, 0)

VBPlane(1) = New Direct3D.CustomVertex.PositionNormalTextured(500, -500, 0, 0, 0, 1, 1, 0)

VBPlane(2) = New Direct3D.CustomVertex.PositionNormalTextured(-500, 500, 0, 0, 0, 1, 0, 1)

VBPlane(3) = New Direct3D.CustomVertex.PositionNormalTextured(500, 500, 0, 0, 0, 1, 1, 1)

MyPlane = New Direct3D.Mesh(2, 4, Direct3D.MeshFlags.Managed, Direct3D.VertexFormats.Position + Direct3D.VertexFormats.Normal + Direct3D.VertexFormats.Texture1, MyDevice) ’創(chuàng)建物體

MyPlane.SetVertexBufferData(VBPlane, Direct3D.LockFlags.None) ‘輸入頂點(diǎn)坐標(biāo)數(shù)據(jù)

MyPlane.SetIndexBufferData(PlaneIB, Direct3D.LockFlags.None) ‘輸入索引數(shù)據(jù)

MyPlane.SetAttributeTable(AttrTable) ‘輸入頂點(diǎn)分組屬性表

End Sub

Public Sub Render() ‘調(diào)用它畫圖

Dim vlook As New Vector3(1, 0, 0)

Dim vPos As New Vector3(0,0,0)

Dim vUp As New Vector3(0, 0, 1)

MatView = Matrix.LookAtLH(vPos, vlook, vUp) ‘計(jì)算攝像機(jī)位置矩陣

Device.SetTransform(Direct3D.TransformType.View, MatView) ‘設(shè)置當(dāng)前攝像機(jī)位置矩陣為MatView。

Dim fAspect As Single = Me.Width / Me.Height ’窗口長寬比

matProj = Matrix.PerspectiveFovLH(Math.PI / 4, fAspect, 1.0F, 10001) ‘計(jì)算透視矩陣MatProj。

MyDevice.SetTransform(Direct3D.TransformType.Projection, matProj) ‘設(shè)置當(dāng)前透視矩陣為MatProj。

MyDevice.Clear(Direct3D.ClearFlags.Target + Direct3D.ClearFlags.ZBuffer, Color.Blue, 1.0F, 0) ’先刷藍(lán)屏

MyDevice.BeginScene() ‘開始畫

MatWorld = Matrix.Identity ’物體位于原點(diǎn),不旋轉(zhuǎn)

Device.SetTransform(Direct3D.TransformType.World, MatWorld) ’設(shè)置物體位置

Me.Mesh.DrawSubset(0) ‘畫物體

MyDevice.EndScene() ’結(jié)束

MyDevice.Present() ‘顯示在屏幕上

End Sub

Public Sub DeleteDeviceObjects() ’結(jié)束程序時(shí)放掉資源

MyPlane.Dispose()

MyDevice.Dispose()

End Sub

#End Region

Private Sub FormMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

DeleteDeviceObjects()

Windows.Forms.Cursor.Show()

End Sub

Private Sub FormMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

InitDeviceObjects()

RestoreDeviceObjects()

Windows.Forms.Cursor.Hide()

Render()

End Sub

End Class

VB6.0或者NET可以使用3D引擎嗎?

我知道的支持vb的就是tv3d引擎了,包含了你所說的3D、光線、物理。

你百度查一查vb+tv3d就知道了。

在vb.net環(huán)境下圖像處理,用什么建立3D

首先,還是談?wù)剤D像像素時(shí)數(shù)據(jù)獲取方面吧,.net中的圖像相關(guān)類基本上都是基于GDI+的,因此,圖像數(shù)據(jù)的獲取其實(shí)也是調(diào)用GDI+的一些函數(shù)。這個(gè)函數(shù)就是LockBits,在vb.net中彩色圖像數(shù)據(jù)的快速獲取 一文中,我們是調(diào)用了Marshal.Copy把LockBits鎖定的內(nèi)存數(shù)據(jù)拷貝到數(shù)據(jù)中,然后對(duì)數(shù)組中的值進(jìn)行處理。這樣做主要的原因是VB.NET不好直接訪問內(nèi)存(Marshal.ReadByte之類的函數(shù)不適合用于大型的循環(huán)中)。那么,這就造成了2個(gè)不好的事情,第一:在同一時(shí)間需要2倍于圖像數(shù)據(jù)量的內(nèi)存,第二:內(nèi)存數(shù)據(jù)拷貝到數(shù)據(jù),以及處理后再把數(shù)組的數(shù)據(jù)拷貝會(huì)內(nèi)存中都是會(huì)減低速度的。作為一種改進(jìn),我們應(yīng)該充分利用LockBits的功能。LockBits中的LockMode中有一種模式為ImageLockMode.UserInputBuffer,該模式下需要用戶先申請(qǐng)內(nèi)存,然后在把圖像數(shù)據(jù)按照相關(guān)格式填充如這個(gè)內(nèi)存中。這樣,就可以先定義個(gè)數(shù)組,然后把圖像數(shù)據(jù)填充到這個(gè)數(shù)組中,就避免了來回拷貝的耗時(shí)了,簡單示例代碼如下:

Dim BmpData As New BitmapData

Stride = ((Bmp.Width * 3 + 3) And HFFFFFFFC)

Dim PixleValue(Stride * Bmp.Height) As Byte

Dim Hanlde As GCHandle = GCHandle.Alloc(PixleValue, GCHandleType.Pinned)

BmpData.Scan0 = Hanlde.AddrOfPinnedObject()

在VB中如何實(shí)現(xiàn)3D功能?

工具類型:游戲開發(fā)引擎

開發(fā)小組:Truevision3D LLC

最新發(fā)布版本: Truevision3D 6.2

引擎介紹:

Truevision3D引擎是美國的一個(gè)共享引擎,在國外的共享3D引擎中,Truevision3D引擎(以下簡稱TV3D)的口碑還是很不錯(cuò)的!由于TV3D的網(wǎng)站訪問速度過于緩慢,而且要下載SDK,網(wǎng)站還不提供斷點(diǎn)續(xù)傳功能!所以特地放上TV3D完整開發(fā)SDK和TV3D的一些資料。

支持的開發(fā)語言:

支持Visual Basic 6.0

支持Visual C++ 6.0

支持Delphi 6、7、8

支持Visual Studio .NET(C#、Visual Basic .NET)

引擎特征:

1。適合快速開發(fā),這里的快速開發(fā)的意思是快速搭建3d程序,它只是簡化了3d程序或者游戲的制作周期。

2。完全支持 DirectX8.1和DirectX9

3。支持硬件 TL技術(shù)(用于實(shí)現(xiàn)動(dòng)態(tài)水面效果)

4。DirectX硬件燈光渲染(這里有個(gè)它的缺點(diǎn),在下面說)

5。支持BSP地圖格式,支持3DS, X, MDL, MD2, MD3模型格式

6。優(yōu)化頂點(diǎn)渲染

7。支持動(dòng)畫材質(zhì)腳本系統(tǒng)

8。大自然環(huán)境支持煙霧、動(dòng)態(tài)的云、天空(天空盒)、星星

9。支持DOT3紋理帖圖(就是凹凸帖圖,Dump Texture,Doom3最常用的一種技術(shù))

10。支持物體的動(dòng)態(tài)陰影(這個(gè)功能感覺很費(fèi)CPU)

11。支持2D渲染(我游戲中的平面UI就是用這個(gè)接口做的)

12。支持高級(jí)碰撞檢測

13。動(dòng)畫系統(tǒng)。

怎么利用VB.NET實(shí)現(xiàn)三維繪圖

數(shù)學(xué)上不是有斜二測畫法,算好坐標(biāo)即可畫出

或者用AnyCAD的.Net圖形控件

也可以調(diào)用matlab 實(shí)現(xiàn)

VB.NET數(shù)組問題(?。。。。。?!求助?。。。。。。。。。?/h2>

Dim a(3, 3, 3)

Dim b(3, 3), c(3, 3), d(3, 3)

Private Sub aaa()

' 對(duì)數(shù)組a(3,3,3)賦值

For i = 1 To 3

For j = 1 To 3

b(i, j) = a(1, i, j)

Next

Next

For i = 1 To 3

For j = 1 To 3

c(i, j) = a(2, i, j)

Next

Next

For i = 1 To 3

For j = 1 To 3

d(i, j) = a(3, i, j)

Next

Next

End Sub

當(dāng)前題目:包含vb.net三維顯示的詞條
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article38/hsddpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、軟件開發(fā)品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、響應(yīng)式網(wǎng)站、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
国产黄色片网站在线观看| 欧美一区二区精品少妇| 亚洲福利视频在线观看免费| 免费无遮挡18禁视频| 亚洲乱色一区二区三区丝袜| 亚洲成人av日韩在线| 亚洲丰满熟女乱一区二区三区| 成人亚洲精品一区二区三区| 婷婷亚洲悠悠色悠在线| 蜜臀视频在线观看免费| 久亚洲精品九九久久99| 国内精品免费视频不卡| 午夜草草视频在线观看| 午夜高清影院免费观看| 久草国产免费福利在线视频| 成人黄色av大片在线观看| 亚洲精品91在线中文字幕| 中文字幕乱码日韩一区| 高清日韩精品视频在线观看| av网址不卡在线免费观看| 五十路八十路息与子交尾| 午夜精品一区二区三区亚洲| 日麻批视频在线免费观看| 欧美一级特黄大片做受农村| 亚洲欧美日韩精品在线观看| 国产精品欧美久久久久久| 午夜福利主播一区二区| 日韩欧美人妻中文字幕| 午夜男女激情在线观看| 日韩av一区二区国产| 久久99国产综合精品女同| 国产一区二区三区性色| 久久综合亚洲一区二区三区色| 国产精品视频黄色一区| 国产91在线拍揄自揄| 欧美日韩国产一区二区的| 午夜伦理视频免费观看| 天天操天天射夜夜撸| 国内自拍一区二区三区| 久久精品国产一区电影| 日韩有码大片最新自拍|