// Note: glLineWidth is deprecated in OpenGL core profile, // for now we still use it if we got a compatibility profile, // but for core profile, we are for now unable to display // thick lines (TODO: develop a shader for that, painful...)
好吧我笑死了
Archer钦(づ ̄3 ̄)づ
// Note: glLineWidth is deprecated in OpenGL core profile, // for now we still use it if we got a compatibility profile, // but for core profile, we are for now unable to display // thick lines (TODO: develop a shader for that, painful...)
311-Instancing(sphere),在使用实例的时候,第二个model占用4个location,所以第三个insColor要指定location=5
layout (location = 0) in vec3 position; layout (location = 1) in mat4 model; layout (location = 5) in vec4 insColor;
void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indicies, GLsizei primcount);
好久没上来了~61打卡
接着研一就要结束了。思考下未来
无法定位程序输入点 记一个小问题:在运行Qt的时候,提示“无法定位程序输入点于动态链接库QtOpenGL5.dll” 排查了lib和x64/x86都没什么问题,最后在CSDN上有个人的回答提醒了自己………… “把qt环境变量尽量放到前面,避免程序误认其他环境变量中包含的qt库” Qt/bin目录环境变量提前就好了……
nm
命令可以查看到.a文件含有未定义的符号,但是.dylib就没有相应符号。
在class的函数声明前加入GEEX_EXPORT
,该问题解决
#define GEEX_EXPORT __attribute__((visibility("visibility_type")))如果设置了
__attribute__((visibility ("default")))
的函数, 其public
属性仍能对外可见, 而不是hidden
。可见编译指令-fvisibility
是对所有属性符号进行处理, 而__attribute__((visibility ("default")))
是对特定函数可见性进行设置, 避免冲突昨天在make的时候发现这个问题,提示一个{path}/vtk*.so文件No rule to make target
,
但是我去那个目录下ls
看了这个文件确实是存在的。
之后很久。。
用了ls -al
发现是个符号链接……并且链接的那个文件不存在
想办法找那个文件了 apt-get etc.
然而……一个假期……过去了
Mac有一次系统升级后,发现clang不支持了openmp了,最后brew安装了clang-omp。但是好不容易配置起来后发现程序运行速度巨慢,今天发现没有打开编译优化,在CMakeLists.txt文件中加入以下编译选项即可(o2优化,甚至o3):
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")程序速度提升4~5倍
配合CMake可以实现各个平台的使用: 有一个Demo
根目录是main.cpp、CMakeLists.txt文件和3rd目录,Eigen头文件包含在3rd目录下。 其中CMakeLists.txt文件内容如下
if(COMMAND cmake_minimum_required) cmake_minimum_required(VERSION 3.4) endif(COMMAND cmake_minimum_required) AUX_SOURCE_DIRECTORY(./ SOURCES) INCLUDE_DIRECTORIES(./3rd) add_executable(EigenTest ${SOURCES})然后用cmake生成平台相应编译器的工程即可。