[磋商]改善办学保障条件-大兴校区学生宿舍11号楼配套项目——市政供电改造工程与环境改造工程(第二包)(二次)竞争性磋商公告
中标评审分析官方公示数据
中标原因深度分析独家解读
33/CoolFusion-2.0
/coolfusion/src/coolfusion/Shader.h
#include "Shader.h"
Shader::Shader()
{
m_VS = 0;
m_PS = 0;
m_VSPath = "";
m_PSPath = "";
m_ShaderType = 0;
m_ShaderData = "";
m_RendererID = 0;
}
Shader::~Shader()
{
unload();
}
bool Shader::loadFromFile(const char* vertexPath, const char* fragmentPath)
{
if (vertexPath == nullptr || fragmentPath == nullptr) {
return false;
}
m_VSPath = vertexPath;
m_PSPath = fragmentPath;
m_ShaderData = readFile(vertexPath) + readFile(fragmentPath);
m_ShaderType = GL_VERTEX_SHADER;
if (!compile(m_ShaderData)) {
return false;
}
m_ShaderType = GL_FRAGMENT_SHADER;
if (!compile(m_ShaderData)) {
return false;
}
m_RendererID = glCreateProgram();
glAttachShader(m_RendererID, m_VS);
glAttachShader(m_RendererID, m_PS);
glLinkProgram(m_RendererID);
checkCompileErrors(m_RendererID, "PROGRAM");
return true;
}
void Shader::load(const char* shaderData, unsigned int shaderType)
{
m_ShaderData = shaderData;
m_ShaderType = shaderType;
if (!compile(shaderData)) {
return;
}
m_RendererID = glCreateProgram();
glAttachShader(m_RendererID, m_VS);
glAttachShader(m_RendererID, m_PS);
glLinkProgram(m_RendererID);
checkCompileErrors(m_RendererID, "PROGRAM");
}
bool Shader::compile(const char* shaderData)
{
m_VSPath = "";
m_PSPath = "";
m_ShaderData = shaderData;
m_VS = createShader(shaderData, GL_VERTEX_SHADER);
m_PS = createShader(shaderData, GL_FRAGMENT_SHADER);
return true;
}
unsigned int Shader::createShader(const char* shaderData, unsigned int shaderType)
{
unsigned int ID = glCreateShader(shaderType);
const char* cShaderData = shaderData;
const char* line = cShaderData;
while (line != nullptr) {
line = strchr(line, '\n');
}
const char* lineData = line + 1;
const char* lineDataCopy = lineData;
glShaderSource(ID, 1, &lineData, nullptr);
glCompileShader(ID);
int success;
glGetShaderiv(ID, GL_COMPILE_STATUS, &success);
if (!success) {
char infoLog[512];
glGetShaderInfoLog(ID, 512, nullptr, infoLog);
std::cout << "ERROR::SHADER::COMPILATION_FAILED\n" << infoLog << std::endl;
return 0;
}
return ID;
}
void Shader::checkCompileErrors(unsigned int ID, const char* type)
{
int success;
char infoLog[512];
if (type != "PROGRAM") {
glGetShaderiv(ID, GL_COMPILE_STATUS, &success);
if (!success) {
glGetShaderInfoLog(ID, 512, nullptr, infoLog);
std::cout << type << " SHADER COMPILE FAILED\n" << infoLog << std::endl;
}
}
else {
glGetProgramiv(ID, GL_LINK_STATUS, &success);
if (!success) {
glGetProgramInfoLog(ID, 512, nullptr, infoLog);
std::cout << type << " PROGRAM LINK FAILED\n" << infoLog << std::endl;
}
}
}
void Shader::unload()
{
glDeleteProgram(m_RendererID);
m_RendererID = 0;
m_VS = 0;
m_PS = 0;
}
void Shader::setMatrixUniform(const char* uniformName, const mat4& matrix, bool update)
{
if (update) {
glUniformMatrix4fv(glGetUniformLocation(m_RendererID, uniformName), 1, GL_FALSE, glm::value_ptr(matrix));
}
}
void Shader::setBoolUniform(const char* uniformName, bool val, bool update)
{
if (update) {
glUniform1i(glGetUniformLocation(m_RendererID, uniformName), (int)val);
}
}
void Shader::setIntUniform(const char* uniformName, int val, bool update)
{
if (update) {
glUniform1i(glGetUniformLocation(m_RendererID, uniformName), val);
}
}
void Shader::setFloatUniform(const char* uniformName, float val, bool update)
{
if (update) {
glUniform1f(glGetUniformLocation(m_RendererID, uniformName), val);
}
}
void Shader::setIntVectorUniform(const char* uniformName, const int* data, int size, bool update)
{
if (update) {
glUniform1iv(glGetUniformLocation(m_RendererID, uniformName), size, data);
}
}
void Shader::setFloatVectorUniform(const char* uniformName, const float* data, int size, bool update)
{
if (update) {
glUniform4fv(glGetUniformLocation(m_RendererID, uniformName), size, data);
}
}
void Shader::setFloatMatrixUniform(const char* uniformName, const mat4* data, int size, bool update)
{
if (update) {
glUniformMatrix4fv(glGetUniformLocation(m_RendererID, uniformName), size, GL_FALSE, data);
}
}
void Shader::setIntMatrixUniform(const char* uniformName, const mat4* data, int size, bool update)
{
if (update) {
glUniformMatrix4fv(glGetUniformLocation(m_RendererID, uniformName), size, GL_FALSE, glm::value_ptr(data[0]));
}
项目概况
改善办学保障条件-大兴校区学生宿舍11号楼配套项目——市政供电改造工程与环境改造工程采购项目的潜在供应商应在北京市政府采购电子交易平台获取采购文件,并于2026-06-29 09:30(北京时间)前提交响应文件。
一、项目基本情况
项目编号:11000026210200166842-XM001
项目名称:改善办学保障条件-大兴校区学生宿舍11号楼配套项目——市政供电改造工程与环境改造工程
采购方式:竞争性磋商
预算金额:58.276315 万元(人民币)
最高限价:58.104348 万元(人民币)
采购需求:
本项目中的绿化工程等设计图纸和工程量清单中显示的全部工作内容
合同履行期限:45日历天
本项目不接受联合体投标。
二、申请人的资格要求:
1.满足《中华人民共和国政府采购法》第二十二条规定;
2.落实政府采购政策需满足的资格要求:
2.1 中小企业政策
■本项目不专门面向中小企业预留采购份额。
□本项目专门面向 □中小 □小微企业 采购。
2.2 其它落实政府采购政策的资格要求(如有): / 。
3.本项目的特定资格要求:
3.1本项目是否属于政府购买服务:
■否
□是,公益一类事业单位、使用事业编制且由财政拨款保障的群团组织,不得作为承接主体;
3.2其他特定资格要求:
3.2.1单位负责人为同一人或者存在直接控股、管理关系的不同供应商,不得同时参加本项目;
3.2.2为本项目提供整体设计、规范编制或者项目管理、监理、检测等服务的供应商,不得参加本项目;
3.2.3供应商不得被“信用中国”网站(www.creditchina.gov.cn)和中国政府采购网(www.ccgp.gov.cn)列入失信被执行人、重大税收违法失信主体名单、政府采购严重违法失信行为记录名单;
3.2.4申请人须为在中华人民共和国境内合法注册的法人实体,须具备有效营业执照并处于正常开业状态,且具备承担招标项目的能力;
3.2.5拟派本工程的项目负责人具备相应的现场管理工作经历和专业技术能力;并未在其他在建施工项目中担任项目负责人。
三、获取采购文件
时间:2026-06-18至2026-06-25, ,每天上午09:00至12:00,下午12:00至17:00(北京时间,法定节假日除外)
地点:北京市政府采购电子交易平台
方式:
供应商使用CA数字证书或电子营业执照登录北京市政府采购电子交易平台(http://zbcg-bjzc.zhongcy.com/bjczj-portal-site/index.html#/home)获取电子版竞争性磋商文件。
售价:¥0元
四、响应文件提交
截止时间:2026-06-29 09:30(北京时间)
地点:北京市丰台区海鹰路1号院2号楼5层北京建智达工程管理股份有限公司会议室
五、开启
时间:2026-06-29 09:30(北京时间)
地点:北京市丰台区海鹰路1号院2号楼5层北京建智达工程管理股份有限公司会议室
六、公告期限
自本公告发布之日起3个工作日。
七、其他补充事宜
1.本项目需要落实的政府采购政策:节能产品强制采购;节能产品、环境标志产品优先采购;政府采购促进中小企业发展;政府采购支持监狱企业发展;政府采购促进残疾人就业;政府采购扶持贫困地区;政府采购信用担保;政府采购支持绿色建材促进建筑品质提升政策等。
2.本项目采用电子化采购方式(线上线下相结合形式),请供应商认真学习北京市政府采购电子交易平台发布的相关操作手册(供应商可在交易平台下载相关手册),办理CA数字证书或电子营业执照、进行北京市政府采购电子交易平台注册绑定,并认真核实CA数字证书或电子营业执照情况确认是否符合本项目电子化采购流程要求。
CA数字证书服务热线:010-58511086
电子营业执照服务热线:400-699-7000
技术支持服务热线:010-86483801
2.1办理CA数字证书或电子营业执照
供应商登录北京市政府采购电子交易平台查阅 “用户指南”—“操作指南”—“市场主体CA办理操作流程指引” /“电子营业执照使用指南”,按照程序要求办理。
2.2注册
供应商登录北京市政府采购电子交易平台“用户指南”—“操作指南”—“市场主体注册入库操作流程指引”进行自助注册绑定。
2.3驱动、客户端下载
供应商登录北京市政府采购电子交易平台“用户指南”—“工具下载”—“招标采购系统文件驱动安装包”下载相关驱动。
供应商登录北京市政府采购电子交易平台“用户指南”—“工具下载”—“投标文件编制工具”下载相关客户端。
2.4 获取电子竞争性磋商文件
供应商使用CA数字证书或电子营业执照登录北京市政府采购电子交易平台获取电子竞争性磋商文件。
供应商如计划参与多个采购包的响应,应在登录北京市政府采购电子交易平台后,在【我的项目】栏目依次选择对应采购包,进入项目工作台招标/采购文件环节分别按采购包下载采购文件电子版。未在规定期限内按上述操作获取文件的采购包,供应商对相应包的响应无效。
3.评审方法:综合评分法。
4.本公告在中国政府采购网、北京市政府采购网发布。
八、凡对本次采购提出询问,请按以下方式联系。
1.采购人信息
名 称:北京建筑大学
地址:北京市西城区展览馆路1号
联系方式:王老师,010-61209377
2.采购代理机构信息
名 称:北京建智达工程管理股份有限公司
地 址:北京市丰台区海鹰路1号院2号楼5层
联系方式:杨瑞龙、李娟、白晶,010-53382833
3.项目联系方式
项目联系人:杨瑞龙、李娟、白晶
电 话: 010-53382833
数据来源:查看官方原文 | 发布日期:2026-06-01