Jump to content

SpiderPig

Members
  • Posts

    2,300
  • Joined

  • Last visited

Posts posted by SpiderPig

  1. Yeah, your model did. But I did the exact same thing to mine and it didn't. I tried a cube exported from blender with the same materials and through the same process and yet nothing again....no idea...maybe my programs are in need of updateing or somthing. I have UU3D v3.0 and blender 249.2 and leadwerks 2.4.

  2. Tried it and nothing.... No idea whats happeing with it. :) I changed the names and diffuse textures. The model loads and displays the materials fine, it's just when I set the buffer to the texture and change it to the texture0 channel. :(

    I'll just have to try a new model or something, see if that works.

  3. I scaled it to .08 times and the material still didn't work.

     

    I just tried setting the buffer to the material of another model I exported from blender, and this model tiles it's texture about 100 times so if it was going to work, I'd see it. Instead it showed only one rendered cube smack bang in the centre of the entire model. Maybe the UV coordinates arnt being read correctly?

  4. Here it is in .obj;

     

     

     

    I model it in blender and export it to .3ds then open it in UU3D pro and asign it textures then export it to .obj and convert it to .gmf.

    Blenders .obj exporter dosn't work great for me so this is the only way I can get stuff to work.

     

     

    EDIT: Yeah I havn't rescaled my models yet. Would this effect anything?

  5. Thanks,

     

    I just tested the buffer on an extra cube made in the main world and it worked perfectly. It's the model then, but I'm not sure what.

    The UV coordinates are fine and other textures I loaded and applied to the texture0 channel worked....Is there somthing special that needs to be done to a model for this to work?

  6. From this code my computer screen is loaded with the material "Tex_ComputerScreen" already asigned to its screen. I load that same material and change the texture0 channel to the texture I get from "GetColorBuffer(ComputerBuffer)" every frame after my ComputerBuffer has been updated.

     

    The ComputerBuffer rendering process works perfectly. I never intented to texture the cube, only the computer screen with the new texture. I rendered the cube into the ComputerWorld so instead of seeing black on my computer screen, I had a white square in the centre so I could tell if it was working properly. (See the previous attachment)

     

    It didn't work so I drew the texture on screen, which said it was working, but clearly on my computer screen it wasn't. Other textures have worked by loading them indapendantly. It's just the texture from "GetColorBuffer(ComputerBuffer)" isn't showing on the computers screen (via the texture0 channel).

     

    Hope this makes sense,

     

    Thanks for the code, will have closer look in the morning :D

  7. Just to be sure: the cube is just a reference object so I'm able to see if the buffer has been asigned to the computers screen.

     

    Here is where I render and update my computer stuff;

     

    #include "engine.h"
    
    TWorld ComputerWorld;
    TBuffer ComputerBuffer;
    TCamera ComputerCamera;
    TTexture ComputerTexture;
    TMaterial mat1;
    
    void ComputerSetup(void);
    void SetupComputerBuffer(void);
    void UpdateComputer(void);
    
    int main(int argc,char** argv)
    {
    Initialize() ;
    RegisterAbstractPath("C:/Leadwerks Engine SDK");
    SetAppTitle( "Game." ) ;
    Graphics( 1024, 600 ) ;
    
    TWorld world;
    TBuffer gbuffer;
    TCamera camera;
    
    world = CreateWorld() ;
    if(!world)
    {
    	MessageBoxA(0,"Error","Failed To Create World.",0);
    	return Terminate();
    };
    gbuffer=CreateBuffer(GraphicsWidth(),GraphicsHeight(),BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL);
    camera=CreateCamera();
    
    TLight light = CreateDirectionalLight();
    
                   ComputerSetup(void);
    
    //loop
    while( !KeyHit() && !AppTerminate() )
    {
    
    
    		// Update timing and world
    		UpdateAppTime();
    		UpdateWorld(AppSpeed()) ;
    
    		UpdateComputer();
    
    		// Render
    		SetBuffer(gbuffer);
    		RenderWorld();
    		SetBuffer(BackBuffer());
    		RenderLights(gbuffer);//ComputerTexture=GetColorBuffer(BackBuffer(),1);
    
    
    
    		DrawImage(ComputerTexture,0,0,-1,-1);
    
    		Flip(1) ;
    }
    
    return Terminate() ;
    }
    
    
    
    void ComputerSetup(void)
    {
    ComputerScreen=LoadModel("abstract::ComputerScreen.gmf");
    SetupComputerBuffer();
    };
    
    
    void SetupComputerBuffer(void)
    {
    TWorld current=CurrentWorld();
    ComputerWorld=CreateWorld();
                   TModel cube=CreateCube();
                   //I tested a material on the cube here, which was a diffuse shader with a red.dds texture.  Only the basic and it worked fine.
    
    ComputerBuffer=CreateBuffer(64,64,BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL);
    ComputerCamera=CreateCamera();
    PositionEntity(ComputerCamera,Vec3(0,0,-4));
    SetWorld(current);
    
    mat1=LoadMaterial("abstract::Tex_ComputerScreen.mat");
    };
    
    void UpdateComputer(void)
    {
    TBuffer currentb=CurrentBuffer();
    TWorld currentw=CurrentWorld();
    SetBuffer(ComputerBuffer);
    SetWorld(ComputerWorld);
    RenderWorld();
    ComputerTexture=GetColorBuffer(ComputerBuffer);
    SetMaterialTexture(mat1,ComputerTexture,0);
    SetBuffer(currentb);
    SetWorld(currentw);
    };
    

     

    I've chopped out the insignificant bits so that's all the code relivant to textureing the computer screen.

     

    I had to move the camera back a bit in order to see the cube. Otherwise it is black.

  8. The cube itself has no texture, it's just so I can see if its actually rendering somthing. (see attachment)

     

    screen.bmp

     

    The material file for the screen is as below;

     

    texture0="abstract::Tex_ComputerScreen.dds"
    clamp0=0,0,0
    blend=0
    depthmask=1
    depthtest=1
    overlay=0
    zsort=0
    cullface=1
    castshadows=1
    specular=1.00000000
    bumpscale=1.00000000
    gloss=0.500000000
    shader="abstract::mesh_diffuse.vert","abstract::mesh_diffuse.frag"
    shadowshader="",""
    
    

     

    "abstract::Tex_ComputerScreen.dds" is just a 64x64 black image.

     

    I painted the cube with a material and it rendered fine without rendering the buffer to the material.

  9. Having a little problem with getting my texture rendered to my computer screen...

     

    I've created an extra world, buffer and camera, and I've made a cube in that world just a little in front of the camera.

     

    void SetupComputerBuffer(void)
    {
    TWorld current=CurrentWorld();
    ComputerWorld=CreateWorld();
    TModel cube=CreateCube();
    ComputerBuffer=CreateBuffer(64,64,BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL);
    ComputerCamera=CreateCamera();
    PositionEntity(ComputerCamera,Vec3(0,0,-4));
    SetWorld(current);
    
    mat1=LoadMaterial("abstract::Tex_ComputerScreen.mat");
    };//called once on setup
    
    void UpdateComputer(void)
    {
    TBuffer currentb=CurrentBuffer();
    TWorld currentw=CurrentWorld();
    SetBuffer(ComputerBuffer);
    SetWorld(ComputerWorld);
    RenderWorld();
    ComputerTexture=GetColorBuffer(ComputerBuffer);
    SetMaterialTexture(mat1,ComputerTexture,0);
    SetBuffer(currentb);
    SetWorld(currentw);
    };//called every loop before the main world and light render
    

     

    Everything draws fine with this code at the end of my main world and light renders;

     

    DrawImage(GetBufferColor(ComputerBuffer),0,0,-1,-1);

     

    ..and this code;

     

    ComputerTexture=GetBufferColor(ComputerBuffer);
    SetMaterialTexture(mat1,ComputerTexture,0);
    DrawImage(GetMaterialTexture(mat1,0),0,0,-1,-1);
    

     

    but with this code;

     

    ComputerTexture=GetBufferColor(ComputerBuffer);
    SetMaterialTexture(mat1,ComputerTexture,0);
    

     

    ..my screen dosn't have the texture, but clearly it is being asigned to the material, it's just not showing. I loaded a seperate texture and asigned it to the material and the screen showed that, so my models fine. Any sugestions?

  10. Does any one have code for rendering a second camera to a separate buffer and then to a texture so I can use it on a material for my security camera?

    I know of the GetBufferColor() function but I'm unsure of the process used to actually get from my second camera to my texture! :lol:

    Can any one help me?

  11. Your right there doesn't seem to be anything for desaturate in "postfilter.frag", I also tried the "postfilter_distancefog.frag" but it still gave me the same grey screen. I have a feeling something else is going here...as well as the failure to recognise "LW_DESATURATE". :P

     

    Would Framework be the better option?

×
×
  • Create New...