Changeset 2777


Ignore:
Timestamp:
Jun 23, 2013, 11:12:54 PM (8 years ago)
Author:
sam
Message:

gpu: fix the Direct3D version of most rendering functions.

Location:
trunk/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gpu/renderer.cpp

    r2775 r2777  
    115115    d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
    116116
    117     HRESULT hr = VideoData::d3d_ctx->CreateDevice(0, D3DDEVTYPE_HAL, g_hwnd,
    118                                                   D3DCREATE_HARDWARE_VERTEXPROCESSING,
    119                                                   &d3dpp, &m_data->m_d3d_dev);
     117    HRESULT hr = m_data->m_d3d_ctx->CreateDevice(0, D3DDEVTYPE_HAL, g_hwnd,
     118                                                 D3DCREATE_HARDWARE_VERTEXPROCESSING,
     119                                                 &d3dpp, &m_data->m_d3d_dev);
    120120    if (FAILED(hr))
    121121    {
     
    158158
    159159    m_data->m_cull_mode = CullMode::Disabled;
    160     SetCullMode(CullMode::CounterClockwise);
     160    SetCullMode(CullMode::Clockwise);
    161161
    162162    m_data->m_polygon_mode = PolygonMode::Point;
     
    205205    D3DCOLOR clear_color = D3DCOLOR_XRGB((int)tmp.r, (int)tmp.g, (int)tmp.b);
    206206
    207     if (FAILED(VideoData::d3d_dev->Clear(0, nullptr, m, clear_color,
    208                                          g_renderer->GetClearDepth(), 0)))
     207    if (FAILED(m_data->m_d3d_dev->Clear(0, nullptr, m, clear_color,
     208                                        GetClearDepth(), 0)))
    209209        Abort();
    210210#else
     
    399399
    400400#if defined USE_D3D9 || defined _XBOX
    401     enum D3DBLEND s1[2] = { D3DBLEND_ONE, D3DBLEND_ZERO };
     401    D3DBLEND s1[2] = { D3DBLEND_ONE, D3DBLEND_ZERO };
    402402    BlendFunc s2[2] = { src, dst };
    403403
     
    430430            /* FiXME: these can be supported using D3DPBLENDCAPS_BLENDFACTOR */
    431431            case BlendFunc::ConstantColor:
    432                 assert(0, "BlendFunc::ConstantColor not supported");
     432                ASSERT(0, "BlendFunc::ConstantColor not supported");
    433433                break;
    434434            case BlendFunc::OneMinusConstantColor:
    435                 assert(0, "BlendFunc::OneMinusConstantColor not supported");
     435                ASSERT(0, "BlendFunc::OneMinusConstantColor not supported");
    436436                break;
    437437            case BlendFunc::ConstantAlpha:
    438                 assert(0, "BlendFunc::ConstantAlpha not supported");
     438                ASSERT(0, "BlendFunc::ConstantAlpha not supported");
    439439                break;
    440440            case BlendFunc::OneMinusConstantAlpha:
    441                 assert(0, "BlendFunc::OneMinusConstantAlpha not supported");
     441                ASSERT(0, "BlendFunc::OneMinusConstantAlpha not supported");
    442442                break;
    443443        }
     
    631631    case CullMode::Clockwise:
    632632        glEnable(GL_CULL_FACE);
    633         glCullFace(GL_BACK);
     633        glCullFace(GL_FRONT);
    634634        glFrontFace(GL_CW);
    635635        break;
    636636    case CullMode::CounterClockwise:
    637637        glEnable(GL_CULL_FACE);
    638         glCullFace(GL_BACK);
     638        glCullFace(GL_FRONT);
    639639        glFrontFace(GL_CCW);
    640640        break;
     
    669669        break;
    670670    case PolygonMode::Fill:
    671         m_data->m_d3d_dev->SetRenderState(D3DRS_FILLMODE, D3DCULL_SOLID);
     671        m_data->m_d3d_dev->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);
    672672        break;
    673673    }
  • trunk/src/gpu/texture.cpp

    r2770 r2777  
    9191#   if defined USE_D3D9
    9292        { D3DFMT_R8G8B8, 3 },   /* RGB_8 */
    93         { D3DFMT_UNKNOWN, 0 }, /* RGBA_8 */
     93        { D3DFMT_A8R8G8B8, 4 }, /* RGBA_8 */
    9494        { D3DFMT_A8R8G8B8, 4 }, /* ARGB_8 */
    9595        { D3DFMT_UNKNOWN, 0 },  /* ABGR_8 */
     
    106106
    107107    D3DFORMAT d3d_format = GET_CLAMPED(d3d_formats, format).format;
     108    ASSERT(d3d_format != D3DFMT_UNKNOWN,
     109           "unsupported texture format %d\n", format);
    108110#   if defined USE_D3D9
    109111    int d3d_usage = D3DUSAGE_DYNAMIC;
     
    113115
    114116    m_data->m_dev->CreateTexture(m_data->m_size.x, m_data->m_size.y, 1,
    115                                d3d_usage, d3d_format,
    116                                D3DPOOL_DEFAULT, &m_data->m_texture, nullptr);
     117                                 d3d_usage, d3d_format,
     118                                 D3DPOOL_DEFAULT, &m_data->m_texture, nullptr);
    117119    m_data->m_bytes_per_elem = GET_CLAMPED(d3d_formats, format).bytes;
    118120#else
  • trunk/src/lol/gpu/renderer.h

    r2773 r2777  
    155155    ~Renderer();
    156156
    157     void *GetDevice();
    158 
    159157public:
    160158    void Clear(ClearMask mask);
     159
     160    void *GetDevice();
    161161
    162162public:
  • trunk/src/lolcore.vcxproj

    r2750 r2777  
    234234    <ClInclude Include="lol\sys\file.h" />
    235235    <ClInclude Include="lol\sys\init.h" />
    236     <ClInclude Include="lol\sys\sys.h" />
    237236    <ClInclude Include="lol\sys\thread.h" />
    238237    <ClInclude Include="lol\sys\timer.h" />
  • trunk/src/lolcore.vcxproj.filters

    r2750 r2777  
    7777      <UniqueIdentifier>{1d945673-ee9a-48a7-9ee8-34338c5fefc1}</UniqueIdentifier>
    7878    </Filter>
     79    <Filter Include="lol\debug">
     80      <UniqueIdentifier>{01285b11-c6c7-4a9e-8dee-daa2c63901e4}</UniqueIdentifier>
     81    </Filter>
    7982  </ItemGroup>
    8083  <ItemGroup>
     
    307310      <Filter>base</Filter>
    308311    </ClCompile>
     312    <ClCompile Include="debug\lines.cpp">
     313      <Filter>debug</Filter>
     314    </ClCompile>
    309315  </ItemGroup>
    310316  <ItemGroup>
    311     <ClInclude Include="image\image.h">
    312       <Filter>image</Filter>
    313     </ClInclude>
    314317    <ClInclude Include="debug\fps.h">
    315318      <Filter>debug</Filter>
     
    596599    <ClInclude Include="sys\threadbase.h">
    597600      <Filter>sys</Filter>
     601    </ClInclude>
     602    <ClInclude Include="lol\debug\all.h">
     603      <Filter>lol\debug</Filter>
     604    </ClInclude>
     605    <ClInclude Include="lol\debug\lines.h">
     606      <Filter>lol\debug</Filter>
     607    </ClInclude>
     608    <ClInclude Include="lol\image\image.h">
     609      <Filter>lol\image</Filter>
    598610    </ClInclude>
    599611  </ItemGroup>
Note: See TracChangeset for help on using the changeset viewer.