bool SMreadPostAsCompactPre::open(SMreader* smreader, bool preserve_order, int limit_buffer_size) { if (smreader == 0 || !smreader->post_order) { return false; } this->smreader = smreader; this->preserve_order = preserve_order; nverts = smreader->nverts; nfaces = smreader->nfaces; v_count = 0; f_count = 0; bb_min_f = smreader->bb_min_f; bb_max_f = smreader->bb_max_f; vertex_hash = new my_hash; waiting_area = new DynamicVector(); output_triangles = new DynamicVector(); initVertexBuffer(1024, 0); initTriangleBuffer(2048, limit_buffer_size); return true; }
bool begin() { int Border = 2; Viewport[0] = glm::ivec4(Border, Border, FRAMEBUFFER_SIZE - 2 * Border); Viewport[1] = glm::ivec4((Window.Size.x >> 1) + Border, 1, FRAMEBUFFER_SIZE - 2 * Border); Viewport[2] = glm::ivec4((Window.Size.x >> 1) + Border, (Window.Size.y >> 1) + Border, FRAMEBUFFER_SIZE - 2 * Border); Viewport[3] = glm::ivec4(Border, (Window.Size.y >> 1) + Border, FRAMEBUFFER_SIZE - 2 * Border); bool Validated = true; Validated = Validated && glf::checkGLVersion(SAMPLE_MAJOR_VERSION, SAMPLE_MINOR_VERSION); Validated = Validated && glf::checkExtension("GL_ARB_viewport_array"); Validated = Validated && glf::checkExtension("GL_ARB_separate_shader_objects"); if(Validated && glf::checkExtension("GL_ARB_debug_output")) Validated = initDebugOutput(); if(Validated) Validated = initProgram(); if(Validated) Validated = initVertexBuffer(); if(Validated) Validated = initVertexArray(); if(Validated) Validated = initTexture(); if(Validated) Validated = initFramebuffer(); if(Validated) Validated = initSampler(); return Validated && glf::checkError("begin"); }
bool FSQuad::init(ID3D11Device* currDevice, ID3D11DeviceContext* currContext) { initVertexBuffer(currDevice); return true; }
void HW3b::selectMode(int index){ stopTimer(); resetMode = index; initPoints(); initVertexBuffer(); updateGL(); }
void HW3b::wave() { getforce(); getvelocity(); getposition(); initVertexBuffer(); updateGL(); }
void HW3b::setsize(int value) { timer->stop(); m_sliderGrid->setValue(value); m_spinboxGrid->setValue(value); grid = value+1; // sdepth = 5.0/4.0 * (grid+3); // sdepth = sdepth+0.6; initPoints(); initPosition(); initVertexBuffer(); updateGL(); }
bool begin() { bool Validated = true; if(Validated) Validated = initProgram(); if(Validated) Validated = initVertexBuffer(); if(Validated) Validated = initVertexArray(); return Validated && this->checkError("begin"); }
HRESULT ManagementSprite::init(ID3D11Device* p_device) { HRESULT hr = S_OK; initSprites(); initSpriteCollection(); hr = initVertexBuffer(p_device); if(SUCCEEDED(hr)) hr = initIndexBuffer(p_device); return hr; }
bool begin() { bool Validated = true; if(Validated) Validated = initProgram(); if(Validated) Validated = initVertexBuffer(); if(Validated) Validated = initVertexArray(); return Validated; }
void HistrogramStrech::initializeGL() { // initialize GL function resolution for current context initializeGLFunctions(); // init texture initTexture(); // init vertex and fragment shaders initShaders(); // initialize vertex buffer and write positions to vertex shader initVertexBuffer(); }
bool begin() { bool Validated = glf::checkGLVersion(SAMPLE_MAJOR_VERSION, SAMPLE_MINOR_VERSION); if(Validated && glf::checkExtension("GL_ARB_debug_output")) Validated = initDebugOutput(); if(Validated) Validated = initProgram(); if(Validated) Validated = initVertexBuffer(); if(Validated) Validated = initVertexArray(); return Validated && glf::checkError("begin"); }
bool begin() { bool Validated = true; if(Validated) Validated = initProgram(); if(Validated) Validated = initVertexBuffer(); if(Validated) Validated = initVertexArray(); glEnable(GL_DEPTH_TEST); return Validated; }
bool begin() { bool Validated = glf::checkGLVersion(SAMPLE_MAJOR_VERSION, SAMPLE_MINOR_VERSION); if(Validated) Validated = initProgram(); if(Validated) Validated = initVertexBuffer(); if(Validated) Validated = initVertexArray(); if(Validated) Validated = initTexture2D(); return Validated && glf::checkError("begin"); }
t_ilm_bool initGlApplication() { if (!initShader()) { return ILM_FALSE; } if (!initVertexBuffer()) { return ILM_FALSE; } glClearColor(1.0f, 1.0f, 1.0f, 0.0f); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); return ILM_TRUE; }
void HW3b::initializeGL() { // initialize GL function resolution for current context initializeGLFunctions(); initTexture(); initShaders(); initPoints(); initVertexBuffer(); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); // glEnable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); glClearColor(0.0, 0.0, 0.0, 0.0); // set background color glColor3f (1.0, 1.0, 0.0); // set foreground color }
VOID JCDisplayObject::setTexture(IDirect3DTexture9* texture) { m_lpTexture = texture; initVertexBuffer(); if(m_lpTexture != NULL) { D3DSURFACE_DESC dest; m_lpTexture->GetLevelDesc(0, &dest); m_widthOriginal = (FLOAT)dest.Width; m_heightOriginal = (FLOAT)dest.Height; } else { m_widthOriginal = 0.0f; m_heightOriginal = 0.0f; setWidth(0.0f); setHeight(0.0f); } }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // HW3a::initializeGL: // // Initialization routine before display loop. // Gets called once before the first time resizeGL() or paintGL() is called. // void HW3a::initializeGL() { // initialize GL function resolution for current context initializeGLFunctions(); // init texture initTexture(); // init vertex and fragment shaders initShaders(); // initialize vertex buffer and write positions to vertex shader initVertexBuffer(); // init state variables glClearColor(0.0, 0.0, 0.0, 0.0); // set background color glColor3f (1.0, 1.0, 0.0); // set foreground color }
bool SMwriter_smc_old::open(FILE* file, int bits) { initVertexBuffer(1024); initEdgeBuffer(1024); vertex_hash = new my_vertex_hash; dv = new DynamicVector(); lc = new LittleCache(); initEncoder(file); initModels(1); // write precision re_conn->encode(25,bits); // store precision (is needed in write_header) precision_bits = bits; v_count = 0; f_count = 0; return true; }
void HW3b::reset (){ timer->stop(); waving = false; grid = 17; dt=0.006; // displayMode = TEX_WIRE; // resetMode = HILLFOUR; sphi=45.0;stheta=45.0; sdepth = 1.5; m_comboBox->setCurrentIndex(displayMode); m_comboBox_mode->setCurrentIndex(resetMode); m_spinboxSpeed->setValue(6); m_sliderSpeed->setValue(6); m_spinboxGrid->setValue(16); m_sliderGrid->setValue(16); initPosition(); initPoints(); initVertexBuffer(); updateGL(); }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // HW3a::changeSubdiv: // // Slot function to change number of recursive subdivisions. // void HW3a::changeSubdiv(int subdivisions) { // update slider and spinbox // ...... m_sliderSubdiv->blockSignals(true); m_sliderSubdiv->setValue(subdivisions); m_sliderSubdiv->blockSignals(false); m_spinBoxSubdiv->blockSignals(true); m_spinBoxSubdiv->setValue(subdivisions); m_spinBoxSubdiv->blockSignals(false); // init vars m_subdivisions = subdivisions; // compute new vertices and texture coordinates initVertexBuffer(); // draw updateGL(); }
//void DXInstancedSprite::initInstanceBuffer(){ // HRESULT hr; // instances = new InstanceStruct[instanceMaxSize]; // // // fill the buffer with placeholder values. // for (int i = 0; i < instanceMaxSize; i++){ // D3DXMatrixScaling(&(instances[i].worldMatrix), 0, 0, 0); // } // // D3D11_BUFFER_DESC instanceBufferDesc = { // sizeof(InstanceStruct) * instanceMaxSize, // D3D11_USAGE_DYNAMIC, //D3D11_USAGE_DEFAULT, // D3D11_BIND_VERTEX_BUFFER,//D3D11_BIND_CONSTANT_BUFFER, // // D3D11_CPU_ACCESS_WRITE, // 0, // 0 // }; // D3D11_SUBRESOURCE_DATA srd = { instances, 0, 0 }; // // // Create the instance buffer. // hr = dev->CreateBuffer(&instanceBufferDesc, &srd, &instanceBuffer); // if (FAILED(hr)) // { // TRACE("per instance buffer create failed!"); // } //} void DXInstancedSprite::updateInstanceBuffer(const std::unordered_map<int, ObjectRectTransformDesc*>& sprites){ HRESULT hr; int transformCount = sprites.size(); // instance buffer is refreshed every update. if (transformCount > instanceMaxSize){ // now we need to resize the instance buffer to match the new set of objects. instanceMaxSize *= 2; SAFE_RELEASE(vertexBuffer); initVertexBuffer(); } // after ensuring we have a buffer large enough to hold the object transforms, we copy the transforms to the buffer D3D11_MAPPED_SUBRESOURCE resource; hr = devcon->Map(vertexBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &resource); SpriteVertexData* vertexData = (SpriteVertexData*)resource.pData; int inc = 0; for (auto it = sprites.begin(); it != sprites.end(); ++it){ ObjectRectTransformDesc* transformDesc = it->second; vertexData[inc].position.x = transformDesc->position.x - transformDesc->widthHeight.x; vertexData[inc].position.y = transformDesc->position.y - transformDesc->widthHeight.y; vertexData[inc].position.z = 0; vertexData[inc].uv = Vector2(0, 1); //vertexData[inc].position.z = vertexData[inc].position.y; inc++; vertexData[inc].position.x = transformDesc->position.x - transformDesc->widthHeight.x; vertexData[inc].position.y = transformDesc->position.y + transformDesc->widthHeight.y; vertexData[inc].position.z = 0; //vertexData[inc].position.z = vertexData[inc].position.y; vertexData[inc].uv = Vector2(0, 0); inc++; vertexData[inc].position.x = transformDesc->position.x + transformDesc->widthHeight.x; vertexData[inc].position.y = transformDesc->position.y + transformDesc->widthHeight.y; vertexData[inc].position.z = 0; //vertexData[inc].position.z = vertexData[inc].position.y; vertexData[inc].uv = Vector2(1, 0); inc++; vertexData[inc].position.x = transformDesc->position.x - transformDesc->widthHeight.x; vertexData[inc].position.y = transformDesc->position.y - transformDesc->widthHeight.y; vertexData[inc].position.z = 0; //vertexData[inc].position.z = vertexData[inc].position.y; vertexData[inc].uv = Vector2(0, 1); inc++; vertexData[inc].position.x = transformDesc->position.x + transformDesc->widthHeight.x; vertexData[inc].position.y = transformDesc->position.y + transformDesc->widthHeight.y; vertexData[inc].position.z = 0; vertexData[inc].uv = Vector2(1, 0); //vertexData[inc].position.z = vertexData[inc].position.y; inc++; vertexData[inc].position.x = transformDesc->position.x + transformDesc->widthHeight.x; vertexData[inc].position.y = transformDesc->position.y - transformDesc->widthHeight.x; vertexData[inc].position.z = 0; vertexData[inc].uv = Vector2(1, 1); //vertexData[inc].position.z = vertexData[inc].position.y; inc++; } devcon->Unmap(vertexBuffer, 0); instanceCount = transformCount; }
void DXInstancedSprite::init(){ initShadersAndInputLayout(); initVertexBuffer(); //initInstanceBuffer(); initBlendState(); }