... | ... | @@ -31,4 +31,36 @@ The vertex and fragment shader for all world drawing, and the pair for UI drawin |
|
|
|
|
|
# MD2s
|
|
|
|
|
|
Reimplementing MD2s is not a priority, but it shouldn't be hard to get them either. I suspect we'll be able to simply make them another draw list tag. They might use their own shader set. |
|
|
\ No newline at end of file |
|
|
Reimplementing MD2s is not a priority, but it shouldn't be hard to get them either. I suspect we'll be able to simply make them another draw list tag. They might use their own shader set.
|
|
|
|
|
|
# API
|
|
|
|
|
|
## Core
|
|
|
|
|
|
### Structures
|
|
|
|
|
|
`typedef struct {} hwTexture_t` - Holds onto state for any texture uploaded to GL.
|
|
|
|
|
|
`typedef struct {} hwDrawList_t` -
|
|
|
|
|
|
`typedef enum {} hwRenderType_t` - Image source types (flat, patch, texture, etc)
|
|
|
|
|
|
`typedef enum {} hwDrawListTag_t` - Tags for render objects
|
|
|
|
|
|
## Core functions
|
|
|
|
|
|
`hwTexture_t * HWR_GetTexture(hwRenderType_t, index)`
|
|
|
|
|
|
`void HWR_BindTexture(hwTexture_t)`
|
|
|
|
|
|
`void HWR_SetTextureProcessor()` - function pointer assignment for processing texture uploads (converting lumps to usable texture data per render path)
|
|
|
|
|
|
`void HWR_ProcessDrawLists()`
|
|
|
|
|
|
`void HWR_DrawElements()`
|
|
|
|
|
|
`void HWR_SetElementsProcessor()` - func pointer for processing elements (binding VBO/arrays)
|
|
|
|
|
|
`void HWR_SetElementsDrawer()` - func pointer for drawing elements for a tag (glDrawElements for each list?)
|
|
|
|
|
|
`hwDrawList_t * HWR_AddDrawList(hwDrawListTag_t)` - get a new draw list to put data into and set processing function (to convert to vertices for uploading) |
|
|
\ No newline at end of file |