![]() |
Ответ: Volume Rendering на XNA (Texture3D)
Цитата:
А если я напишу сам функцию построения 3Д текстуры без использования tex3D??? Не знаю зделаю ли я ето так же легко как на Блице но принцып 3Д текстуры я понял. Например:
Наверно тогда компилятор не будет возмущатса по поводу превишения лимита инструкций. Как вам моя идея??? :rolleyes: |
Ответ: Volume Rendering на XNA (Texture3D)
Вложений: 2
Сделал я то что думал.
И вот как оно виглядит: Вложение 12993 У клас Volume.cs дописал: PHP код:
PHP код:
Вложение 12994 |
Ответ: Volume Rendering на XNA (Texture3D)
Цитата:
|
Ответ: Volume Rendering на XNA (Texture3D)
Вложений: 2
Ета цветовая фигня была в шейдере:
Код:
float4 PositionPS(VertexShaderOutput input) : COLOR0 Код:
float4 PositionPS(VertexShaderOutput input) : COLOR0 Ну теперь самое сложное. Надо написать новую технику в шейдере, чтоб она привязывала каждий слой текстуры с файла к соотвецтвующему полигону... Есть неплохой пример: How To: Create Custom Texture Effects Етот кусок кода привязывает текстуру к всем граням куба: Код:
// This code would go between a device BeginScene-EndScene block. Вопрос: 1. Как добыть тексуры с файла для каждого полигона? 2. Как привязать каждому полигону отдельную текстуру? |
Ответ: Volume Rendering на XNA (Texture3D)
Помогите мне пожалуйста!
Я не знаю как мне добыть масив Texture2D с RAW файла Етот метод: Код:
private void loadRAWFile16(FileStream file) Код:
mVolume = new Texture3D(Game.GraphicsDevice, mWidth, mHeight, mDepth, 0, TextureUsage.None, SurfaceFormat.Single); Код:
float4x4 World; Как зделать так чтобы даные с файла RAW наполнили массив Texture2D??? Жду ваших предложений!!! :SOS: |
Ответ: Volume Rendering на XNA (Texture3D)
Ну вот я и релизовал часть свого хитрого плана:rolleyes: .
Метод загрузки RAW файла я переделал, чтоб он создавал масив Texture2D. Но есть проблема с параметром шейдера в которий я хочу сливать масив текстур. А точнее говоря я не знаю как переслать массив текстур в шейдер... Код метода: PHP код:
Код:
float4x4 World; Код:
Ошибка 2 E:\My Work\XNA to Silverlight\VolumeRayCasting_101\VolumeRayCasting\Content\Shaders\RayCasting.fx(15,10): error X3000: syntax error: unexpected token '[' Подскажыте мне как поступить? |
Ответ: Volume Rendering на XNA (Texture3D)
нельзя в шейдере использовать массив текстур, ты же создавал 3d текстуру, почему отказался то?
|
Ответ: Volume Rendering на XNA (Texture3D)
Цитата:
Код:
Ошибка 2 E:\My Work\XNA to Silverlight\VolumeRayCasting_101\VolumeRayCasting\Content\Shaders\RayCasting.fx(112,8): error X5608: Compiled shader code uses too many arithmetic instruction slots (70). Max. allowed by the target (ps_2_0) is 64. |
Ответ: Volume Rendering на XNA (Texture3D)
Вложений: 10
Я опять обращаюсь к вам за помощю!
У меня есть 3 масива цветных даных с RAW файла: Код:
private Color[] mTextDataNX; Код:
private Texture2D[] mTexture; Код:
int wd = mTexture[0].Width; mTextDataNX Вложение 13011Вложение 13012Вложение 13013 mTextDataNY Вложение 13014Вложение 13015Вложение 13016 mTextDataNZ Вложение 13017Вложение 13018Вложение 13019 Как мне ети масивы цветных даных переобразовать в 3 большых текстуры? (атласы или как их там...) Я пробовал: Код:
private Texture2D nTexture; (оригинал 4096 х 512) Вложение 13023 Как ето сделать коректно? Помогите пожалуйста! |
Ответ: Volume Rendering на XNA (Texture3D)
Добрый вечер!
У меня возник вопрос связаный с шейдером. Код: Код:
float4x4 WorldViewProj; Код:
float4x4 WorldViewProj; Код:
Ошибка 1 Errors compiling C:\Documents and Settings\Володя\Мои документы\Visual Studio 2008\Projects\Vol_Render\Vol_Render\Content\Shaders\VolumeRendering.fx: Помогите исправить ошибку, пожалуйста! |
Ответ: Volume Rendering на XNA (Texture3D)
ну так if(input.pos.x > 0.5f)
Ты же специально для этого скопировал значение output.pos = input.Position; в вершинном шейдере. POSITION0 не передать в пиксельный шейдер, только через текстурные слоты. |
Часовой пояс GMT +4, время: 05:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot